Python抛出一个错误,尽管代码工作正常

2024-04-26 01:17:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我用Python编写了一些代码,如下所示:

folderPath = 'C:\Program Files (x86)\Program\folder/' + folderName
if not os.path.exists(folderPath):
    shutil.copytree('C:\Program Files (x86)\Program\folder\anotherfolder', folderPath)

变量folderName来自用户输入,本质上我的程序允许用户创建一个文件夹,然后将另一个文件夹中的某些内容复制到新文件夹中。你可以把它看作是某种文件备份系统。在

奇怪的是这件事。它工作得很好,创建了文件夹(如shutil文档中所述),并复制了另一个文件夹的内容,但会引发一个错误:

^{pr2}$

在本例中,我输入的folderName是'test'。第52行是shutil.copytree公司()打电话。在

然后我的脚本停止运行,即使所有的文件都被复制了,它运行得很好。在

我如何忽略这一点(如果可能的话)并继续执行脚本?或者,如果这确实是我的代码有问题,我该如何解决?在

感谢所有的帮助。在

提前谢谢。在


Tags: 文件代码用户脚本文件夹内容iffiles
2条回答

再挖一点:

根据microsoft,errno 5对应于拒绝访问。在

copytree使用copy2()复制文件,然后更改其权限、时间。在

如果您没有更改(或检索)文件属性的权限,那么您可以使用您自己拥有的任何属性(您的用户、组…)来获取该文件。在

高温

jython seehttp://bugs.jython.org/issue1872中的shutil有问题

但是这不应该是你的问题吗?在

你的路径上有一个正斜杠(/)这不太好。为了使您的程序工作,请执行以下操作。在

folderPath = 'C:\Program Files (x86)\Program\folder/' + folderName
if not os.path.exists(folderPath):
    try:
        shutil.copytree('C:\Program Files (x86)\Program\folder\anotherfolder', folderPath)
    except Exception, exc:
        print exc

这将捕获引发的错误。如果它再次发生,你应该能够得到关于错误的更详细的信息。在

您还可以使用:

^{pr2}$

编辑:注意你的问题仍然存在!异常/错误在except子句中被捕获,因此程序不会崩溃。请参阅评论和劳尔·伊万的回答。发生此错误是因为您没有在Program Files目录中执行某些操作的访问权限。在

我希望这有帮助。你好,谢恩

相关问题 更多 >