質問: i.replace(".dat",".gui") listdir.remove(i) listdir.append(new) ``` これだと、listdir関数の中は確かに、 .gui拡張子になるのですが、元のファイルの中身は 全く変わっていません。 ピリオドは拡張子部分にしかないので、 他の部分が書き換わることはないと考えてよいと 思います。ファイルの内容を変えないように、 ファイルの名前だけを書き換えられる方法を 教えていただきたい。 なんか簡単な気がするけど、そうでもない 気も致しますが、お願いします。
回答: にたくさん回答がありました。 を要件の拡張子に合うようにしたものが下記です。(リンク先にも書いてありますが、カレントディレクトリのみです) ``` import os [os.rename(f, f.replace('.dat', '.gui')) for f in os.listdir('.') if not f.startswith('.')] ``` 補足:試してないですが のがやれることは多そうです。