我想将文件复制到名称列表中的新目录(good_images)
我有超过60,000张图像和16,000个名称列表。我知道,列表中的每个名称都与图像的名称匹配。例如,图像命名为100079.jpg,列表为100079。我将.jpg附加到列表中每个数字的末尾,但这并没有帮助。
import os
from shutil import copy2
import pandas as pd
import numpy as np
Good_File_Names_jpg = []
for i in Good_File_Names:
Good_File_Names_jpg.append('%s.jpg' % i) #add .jpg to end of list so its similar to file names
for i in (Good_File_Names):
for j in os.listdir('images_training_rev1_editing'):
if j.startswith('Good_File_Names[i]'):
os.chdir('images_training_rev1_editing')
copy2('%s' % j, 'good_images')
os.chdir('..')
print(j)
我知道循环有效,因为它需要10分钟才能运行,并且如果我将'Good_File_Names [i]'替换为一个数字(例如100078),它将成功将100078.jpg复制到新目录中。
我认为问题出在j.startwith
行中。可能与变量的传递方式有关。
答案 0 :(得分:0)
问题在于您的soup = BeautifulSoup(page.content, 'html5lib')
用引号引起来,因此Python将其解释为字符串。您还已经使用j.startswith('Good_File_Names[i]'):
变量遍历Good_File_Names
的值。将问题代码替换为i
应该可以解决问题。