【发布时间】:2020-06-08 12:33:12
【问题描述】:
我收到了代码 sn-p 底部注释掉的错误。 我在 IDLE 中运行所有这些。我在 Windows 上,并尝试在 IDLE 上以管理员身份右键单击运行,这可能会有所帮助,但它不起作用。我以前运行过这样的代码来完成相同的任务,但在不同的文件夹上。我也知道还有其他更简单的方法可以移动文件,但是由于我正在按照书中的练习进行操作,因此我想以尽可能接近的方式完成将多个文件移动到不同目录的最终目标我在下面描述的。具体来说,我正在寻找有关导致此错误的原因并了解原因的输入。
我看到了this 视频,从 ff 到 [7:40]。上下文有点不同,但错误消息是相同的。即便如此,我也看不出解释与我正在做的事情有什么关系,特别是在我的 python 上下文中。任何帮助将非常感激!
import pathlib
import shutil
home = pathlib.Path.home()
pictures = home / "Pictures"
imgfiles = pictures / "imgfiles"
file1 = pictures / "image1.png"
file2 = pictures / "image2.gif"
file3 = pictures / "Uplay" / "image3.png"
file4 = pictures / "camera roll" / "image4.jpg"
filelist = [file1, file2, file3, file4]
sourcefiles = []
destination = imgfiles
for file in filelist:
file.touch()
for file in pictures.rglob("image?.???"):
sourcefiles.append(file)
for path in sourcefiles:
path.replace(destination)
回溯如下:
Obtain the following Error when running the last line of code: PermissionError: [WinError 5]
Traceback (most recent call last):
File "<pyshell#42>", line 2, in <module>
path.replace(destination)
File "C:\Users\XXXX\AppData\Local\Programs\Python\Python38\lib\pathlib.py", line 1366, in replace
self._accessor.replace(self, target)
PermissionError: [WinError 5] Acesso negado: 'C:\\Users\\XXXX\\Pictures\\image1.png' -> 'C:\\Users\\XXXX\\Pictures\\imgfiles'
【问题讨论】:
标签: python python-3.x file-io