Python 将文件复制到现有目录会导致IOError[Error 21]是一个目录

Python 将文件复制到现有目录会导致IOError[Error 21]是一个目录,python,Python,我得到这个错误: IOError [Error 21] is a directory 当我尝试将文件复制到现有目录时。我是这样做的: shutil.copyfile(src, dst) 其中,src是一个文件,dst是一个现有目录。我做错了什么?您使用了错误的函数。您可能需要“复制”: 你已经回答了这个问题 dst应该是复制文件的路径。因此,如果您想将文件复制到/var/lib/my/,并且您的文件名为f1,那么dst应该是/var/lib/my/f1.txt 尝试使用shutil。按照 或

我得到这个错误:

IOError [Error 21] is a directory
当我尝试将文件复制到现有目录时。我是这样做的:

shutil.copyfile(src, dst)

其中,
src
是一个文件,
dst
是一个现有目录。我做错了什么?

您使用了错误的函数。您可能需要“复制”:


你已经回答了这个问题

dst
应该是复制文件的路径。因此,如果您想将文件复制到
/var/lib/my/
,并且您的文件名为
f1
,那么
dst
应该是
/var/lib/my/f1.txt

尝试使用
shutil。按照

或者尝试使用以下代码段修复此问题

shutil.copyfile(src, '%s/%s' % (dst, src.split('/')[-1]))

假设src是要复制的文件的路径,例如
/var/log/apache/access.log
,而
dst
是要复制文件的目录的路径,
/var/lib/my
那么新的目的地是
/var/lib/my/access.log

在我弄明白这一点之前,我差点发疯。请参阅代码片段,了解源文件是如何指向文件的路径,目标文件也是如何指向文件的路径(在运行此函数之前,该文件还不存在)


正如我所说,
dst
是一个现有目录。这正是我想要的-将文件复制到目录是的,问题是dst必须是文件路径。尝试根据python文档执行'shutil.copyfile(src,'%s/%s'(dst,src.split()[-1]):'将名为src的文件的内容(无元数据)复制到名为dst的文件'。如果要复制到目录,请尝试
shutil.copy
@bshuster。请根据您的评论作出回答。如果有效的话,我会接受的。谢谢你,先生!我会在8分钟内接受它,当stackoverflow允许我这么做=)谢谢!我很感激;-)Obrigado me ajudou muito\o/这就是真正的解决方案。我不知道为什么它被否决了。
shutil.copyfile(src, '%s/%s' % (dst, src.split('/')[-1]))
for file in orig_files:
    shutil.copyfile(SOURCE_PATH + file_name, DEST_PATH + file_name)