我有他們的許多修改部分文件大型目錄整理文件,我想遞歸地爲每個部分新的文件夾,然後將所有相關的文件移動到該文件夾。我試圖通過隔離一個7位數字來做到這一點,這個數字可以用作零件的標識符,所有相關的文件名也會包含這個數字。創建子目錄和基於文件名PYTHON
import os
import shutil
import csv
import glob
from fnmatch import fnmatch, filter
from os.path import isdir, join
from shutil import copytree, copy2, Error, copystat
from shutil import copytree, ignore_patterns
dirname = ' '
# pattern = '*???????*'
for root, dirs, files in os.walk(dirname):
for fpath in files:
print(fpath)
if fpath[0:6].isdigit():
matchdir = os.mkdir(os.path.join(os.path.dirname(fpath)))
partnum = str(fpath[0:6])
pattern = str(partnum)
filematch = fnmatch(files, pattern)
print(filematch)
shutil.move(filematch, matchdir)
這是我到目前爲止,基本上我不知道如何獲取原始文件名並將其用作其餘文件的匹配模式。我想用於這個匹配模式的原始文件名只是一個7位數的數字,並且所有相關文件都可能有其他字符(例如REV-2)。
你在哪裏遇到麻煩?您已成功從文件名的前面拉出7位數字,將其存儲在** partnum **和** pattern **中,並查找包含該7位數字符串的其他文件。原始文件名在** fpath **中仍然安全。這是什麼部分不起作用,而它做的是什麼? – Prune