【问题标题】:Copy Files from Directory to Folders using Python使用 Python 将文件从目录复制到文件夹
【发布时间】:2015-05-28 14:39:40
【问题描述】:

我有一个包含 150 个 pdf 文件的文件夹。 我还有一个包含 200 个名称的列表,这些名称对应于其中一些 pdf 文件。 IE。格式如下:

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)

【问题讨论】:

  • 所有 PDF 的命名格式都一样吗?
  • 我想弄清楚的是如果有匹配项如何复制文件,而不仅仅是如何复制文件。
  • pdf文件名不一,有的有数字,有的有文字。
  • 你用的是什么版本的python? Python 2 还是 3?还。这是使用什么操作系统/这是针对什么操作系统?这会显着影响答案

标签: python


【解决方案1】:

我建议你使用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() 替换为该目录的路径

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-25
    • 1970-01-01
    • 2017-03-31
    • 1970-01-01
    • 2016-06-06
    • 1970-01-01
    相关资源
    最近更新 更多