复制名称在列表中的文件

时间:2019-07-05 18:53:37

标签: python numpy directory

我想将文件复制到名称列表中的新目录(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行中。可能与变量的传递方式有关。

1 个答案:

答案 0 :(得分:0)

问题在于您的soup = BeautifulSoup(page.content, 'html5lib')用引号引起来,因此Python将其解释为字符串。您还已经使用j.startswith('Good_File_Names[i]'):变量遍历Good_File_Names的值。将问题代码替换为i应该可以解决问题。