機械学習の画像を処理するときは、カテゴリに応じて画像を別のフォルダに配置する必要があります。また、後続の処理を容易にするために、フォルダの下の番号を増やして画像の名前を変更する必要があります。
まず、Pythonの名前変更関数を見てみましょう
。os.rename(src、dst)
src:
変更するディレクトリの名前dst:変更したディレクトリ名
dstが既存のディレクトリの場合、OSErrorがスローされます。
注:srcとdstはどちらもフルパス+ファイル名です。
まず、
最初にフォルダーの名前を変更しましょう。最初に最も簡単な方法を試してください。
import os
def myrename(path):
file_list=os.listdir(path)
i=0
for fi in file_list:
old_name=os.path.join(path,fi)
new_name=os.path.join(path,str(i))
os.rename(old_name,new_name)
i+=1
if __name__=="__main__":
path="D:/test/121"
myrename(path)
フォルダの名前が順番に変更されていることがわかりますが、わずかな変更がありますが、それほど低くはないようです。
import os
def myrename(path):
file_list=os.listdir(path)
for i,fi in enumerate(file_list):
old_name=os.path.join(path,fi)
new_name=os.path.join(path,"N0."+str(i))
os.rename(old_name,new_name)
if __name__=="__main__":
path="D:/test/121"
myrename(path)
効果は同じで、列挙関数の役割は繰り返されません。pythonzipを使用して変更することもできます。
import os
def myrename(path):
file_list=os.listdir(path)
for i,fi in zip(range(len(file_list)),file_list):
old_name=os.path.join(path,fi)
new_name=os.path.join(path,"The."+str(i))
os.rename(old_name,new_name)
if __name__=="__main__":
path="D:/test/121"
myrename(path)
効果は同じです。
次に、ファイルの名前を変更します。上記の3つの方法はすべて使用可能であり、少し変更するだけで済みます。例として列挙関数を使用して、
最初にテキストドキュメントを作成し、コピーして貼り付けます。テストの場合と同様に、ファイルの名前変更エラーを防ぐために、関数にtry-exceptを追加します。ここで、名前変更は同じ形式のファイルである必要があります。そうでない場合、エラーが報告されます。
import os
def myrename(path):
file_list=os.listdir(path)
for i,fi in enumerate(file_list):
old_dir=os.path.join(path,fi)
filename="my"+str(i+1)+"."+str(fi.split(".")[-1])
new_dir=os.path.join(path,filename)
try:
os.rename(old_dir,new_dir)
except Exception as e:
print(e)
print("Failed!")
else:
print("SUcess!")
if __name__=="__main__":
path="D:/test/121"
myrename(path)
コードは非常にシンプルで、初心者の初心者です。これが最も簡単な方法です。交換して話し合うことを歓迎します。