特定のフォルダの中にあるファイルの拡張子を一気に書き換えたい。
今まで.dat
で何も考えずファイルを作って来たのですが、
今回、一部の拡張子を一気に.gui
という形に変えたいと
考えています。
1.os.listdir()でファイルの名前を全てゲット。
2.endswith(".dat")あるいは、正規表現にマッチするものを、
".gui"に書き換える。
しらみつぶしにかえようとすると、
ファイルが使えなくなるという注意書きが出ましたが、
問題なく使えるようなので、この際一気に書き換えられる
手段を知りたいと思いました。
import os
current = os.path.join(os.getcwd(),"widgets_data")
listdir = os.listdir(current)
import re
dat_to_gui = re.compile(".*\.gui")
for i in listdir:
if i.endswith(".dat"):
new = i.replace(".dat",".gui")
listdir.remove(i)
listdir.append(new)
これだと、listdir関数の中は確かに、
.gui拡張子になるのですが、元のファイルの中身は
全く変わっていません。
ピリオドは拡張子部分にしかないので、
他の部分が書き換わることはないと考えてよいと
思います。ファイルの内容を変えないように、
ファイルの名前だけを書き換えられる方法を
教えていただきたい。
なんか簡単な気がするけど、そうでもない
気も致しますが、お願いします。