如何根据excel中的列表查找和移动某些文件?

我有一个这样的文件名称的文件夹:

  • 000001_001_m
  • 000001_002_m
  • 000001_003_m
  • 000001_004_m
  • 000002_001_m
  • 000002_002_m
  • 000003_001_m

前六个字符对应于Access数据库中的唯一标识符,第一个_之后的所有内容对应于扫描项目的页码。

我正在寻找一种方法来获取一个CSV文件中的唯一标识符列表,查找具有匹配标识符的文件夹中的所有文件,并将其移动到另一个文件夹。 任何build议如何做到这一点?

获取标识符后,您可以通过将列表转换为一个集合来获得唯一的标识符。
之后,您可以使用glob模块来查找与您的模式匹配的所有文件名( identifier_* )。 使用shutil.move将find的文件移动到目标文件夹。

 import glob import shutil destination_folder = '/path_to/destination_folder/' identifiers = ['000001', '000001', '000002', '000002', '000003'] unique_identifiers = set(identifiers) for identifier in unique_identifiers: for filename in glob.glob('%s_*' % identifier): shutil.move(filename, destination_folder)