Pythonは、ファイル名に応じて同じ名前のさまざまな種類のファイルを検索(コピー/カット)することを実現します

ターゲット検出用のデータセットを作成するときは、トレーニングセットの画像ファイル(jpg)と注釈ファイル(xmlまたはjson、shpなど)のファイル名とファイル数を同じにする必要があります。予測結果は、選択した正しい結果に基づいています。他の種類の関連ファイルを一緒に見つけるために、処理されるデータの量が比較的多いため、同じファイル名で異なる種類のファイルを除外する簡単なコードを数行記述しました。 (ファイルサフィックス)、これは非常に便利です、そして共有してください。


#根据挑选的jpg文件找出对应的xml、json、shp、dbf、shx文件
import os 
import shutil

filepath1 = '/opt/netdisk/object_detection/project/results/case2/xml'#源文件做参考
file_list = os.listdir(filepath1)
print(file_list)
print(len(file_list))

filepath2 = '/opt/netdisk/object_detection/project/results/case2/jpg'#需要拷出的文件位置
filepath3 = '/opt/netdisk/1/object_detection/project/results/case2/jpgnew'#拷入新的文件夹
print(len(os.listdir(filepath2)))

def main():
    n=0
    for file in os.listdir(filepath2):
        aa,bb=file.split('x')
        b = aa +'jpg'
        print(b)
        if b in file_list:
            srcfile = filepath2 +'/'+ file
            dstfile = filepath3 +'/'+ file
            shutil.move(srcfile,dstfile)#剪切功能
            shutil.copyfile(srcfile,dstfile)#拷贝出来
            n=n+1
            print(n)

if __name__ == '__main__':
    main()

filepath1は、取得した正しい結果または必要な既存のデータであり、ファイル名の比較に使用されます
。filepath2は、ファイルをコピーまたは切り取るフォルダー
です。filepath3は、コピーまたは切り取ったファイルが保存される場所です。

おすすめ

転載: blog.csdn.net/qq_44442727/article/details/112792866