我有一个包含150个pdf文件的文件夹。 我还有一个200个名称的列表,这些名称对应于许多这些pdf文件。 即使用以下格式:
Mark: 100900, 890210, 1212012
Sam: 210102, 203101,
Matt: 123101, 120123, 123123, 123101
等
我想为所有名称创建子目录,然后将pdf文件从原始文件夹复制到每个子目录中。
到目前为止我所拥有的是创建目录,但现在试图弄清楚如果与主列表匹配,如何从单独的文件夹中复制文件。
import itertools
import os
dirs = ["Mark","Sam","Matt","..."]
for item in dirs:
os.makedirs(item)
答案 0 :(得分:0)
我建议你使用shutil,它适合处理目录中的文件
代码如下:
import shutil
import os
from os.path import exists
from os import listdir
nameslist = ["Mark: 100900, 890210, 1212012","Sam: 210102, 203101", "Matt: 123101, 120123, 123123, 123101"]
for item in nameslist:
parts = item.split(': ')
names = parts[0]
numbers = parts[1].split(", ") #get lists from numbers
if not exists(names): #create directories
os.mkdir(names)
for f in listdir(os.getcwd()):
if f.endswith(".pdf"):
if f.replace(".pdf",'') in numbers:
shutil.copy(f, names)
希望这有帮助。
如果.pdf文件不在python文件的目录中,请将 os.getcwd()替换为该目录的路径