2015-06-24 68 views
0

我有這樣與文件名的文件夾:如何根據excel中的列表查找並移動某些文件?

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

前六個字符對應Access數據庫中的唯一標識符,第一個_之後的所有內容對應於掃描項目的頁碼。

我正在尋找一種方法來獲取csv文件中唯一標識符的列表,找到匹配標識符的文件夾中的所有文件,並將它們移動到另一個文件夾。有關如何做到這一點的任何建議?

+0

歡迎來到Stack Overflow!您可能想查看[如何提出問題](http://stackoverflow.com/help/how-to-ask)。正確地格式化您的問題將有助於您找到所需的答案。 –

回答

2

獲取標識符後,您可以通過將列表轉換爲集合來獲得唯一標識符。
之後,您可以使用glob模塊來查找與您的模式匹配的所有文件名(identifier_*)。並使用shutil.move將找到的文件移動到目標文件夾。

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) 
相關問題