【问题标题】:Folder is interpreted as a file文件夹被解释为文件
【发布时间】:2018-12-19 09:35:04
【问题描述】:
我正在尝试从现有文件夹复制 word 文件并将其复制到新的输出文件夹。在这个输出文件夹中,我再次根据用户 ID 创建了不同的文件夹,并且在其中应该为每个用户放置单词文件。但是,在复制此文件时,我遇到了一个问题,因为 id 文件夹被解释为
一份文件。此处附上输出文件图片:
我为此使用shutil 模块,我编写的代码是:
id = tup2[i]
shutil.copy('C:\\Python27\\mydoc.docx', ('C:\\Python27\\Output\\%s') %(id))
【问题讨论】:
标签:
python
python-2.7
directory
document
shutil
【解决方案1】:
这是意料之中的。如果目标文件夹存在,则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 的正确路径处理函数和用于 litteral windows 路径的原始字符串)