使用Python将文件从目录复制到文件夹

时间:2015-05-28 14:39:40

标签: python

我有一个包含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)

1 个答案:

答案 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()替换为该目录的路径