首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >shutil.copytree的问题

shutil.copytree的问题
EN

Stack Overflow用户
提问于 2012-05-11 02:02:42
回答 3查看 6.2K关注 0票数 2

我想从我的计算机上的本地服务器上复制文件夹,使用函数shutil.copytree,我使用macOS,但今天我有问题,python总是显示相同的信息,“错误1操作不允许”,但昨天我的脚本工作没有问题与相同的文件夹...谁能告诉我问题出在哪里,可能发生了什么?

EN

回答 3

Stack Overflow用户

发布于 2013-02-07 16:08:09

“不允许操作”错误的原因可能是当源和目标位于不同的文件系统上时,shutil.copytree (以及shutil.copy和shutil.copy2)有一些奇怪的行为。

例如,我在尝试使用python2.7将文件从ext3复制到ubuntu上的ntfs卷时遇到了shutil.copy的问题。我只是改用了shutil.copyfile

说到shutil.copytree:看看this answer,我喜欢它--只要写你自己的复制树就行了。

票数 2
EN

Stack Overflow用户

发布于 2012-05-11 02:29:50

我猜你正试图复制一个已有的目录。

从文档中

shutil.copytree =(src,dst,symlinks=False,ignore=None)使用copy2()递归地复制目录树。

目标目录不能已经存在。

请注意最后一行。

我没有要验证的MAC OS机器,但我猜目标目录是存在的。下面是在我的Linux机器上发生的情况,它给出了类似的错误

代码语言:javascript
复制
$ mkdir test1
$ touch test1/a
$ touch test1/b

然后在交互式解释器中

代码语言:javascript
复制
>>> from shutil import copytree
>>> copytree("test1","test2")
>>> copytree("test1","test2")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python2.7/shutil.py", line 175, in copytree
    os.makedirs(dst)
  File "/usr/lib/python2.7/os.py", line 157, in makedirs
    mkdir(name, mode)
OSError: [Errno 17] File exists: 'test2'

票数 1
EN

Stack Overflow用户

发布于 2012-05-11 02:32:56

错误代码告诉您,您没有读取源或写入目标的权限。您的文件和文件夹的权限设置是否已更改?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10539724

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档