我正在尝试从现有文件夹复制word文件并将其复制到新的输出文件夹。在此输出文件夹中,我再次根据用户ID创建了不同的文件夹,并且应在其中为每个用户放置word文件。但是,在复制此文件时,我遇到了一个问题,因为id文件夹被解释为 一份文件。输出文件图片如下:
我正在为此使用shutil
模块,而我编写的代码是:
id = tup2[i]
shutil.copy('C:\\Python27\\mydoc.docx', ('C:\\Python27\\Output\\%s') %(id))
答案 0 :(得分:4)
这是预期的。如果目标文件夹存在,则copy
会附加文件的基本名称,然后将文件复制到目标文件夹中。
将文件src复制到文件或目录 dst。 src和dst应该是字符串。 如果dst指定了目录,则文件将使用src中的基本文件名复制到dst中。
如果没有,则copy
假定您要复制并更改名称(Unix cp
命令的工作原理完全相同)。
一种解决方法是事先创建目录/确保它在这里:
import os,shutil
output_dir = os.path.join(r'C:\Python27\Output',str(id))
if not os.path.isdir(output_dir):
os.mkdir(output_dir)
shutil.copy(r'C:\Python27\mydoc.docx', output_dir)
(最好将os.path
中的适当路径处理功能和原始字符串用于垃圾窗口路径)