刚开始学习一些python,我遇到了如下所述的问题:
a_file = open('E:\Python Win7-64-AMD 3.3\Test', encoding='utf-8')
Traceback (most recent call last):
File "<pyshell#9>", line 1, in <module>
a_file = open('E:\Python Win7-64-AMD 3.3\Test', encoding='utf-8')
PermissionError: [Errno 13] Permission denied: 'E:\\Python Win7-64-AMD 3.3\\Test\
似乎是一个文件权限错误,如果任何人可以发光,那将非常感激。
注意:不确定Python和Windows文件的工作方式,但我以管理员身份登录Windows,该文件夹具有管理员权限。
我尝试将.exe
属性更改为以管理员身份运行。
答案 0 :(得分:35)
在做的时候;
a_file = open('E:\Python Win7-64-AMD 3.3\Test', encoding='utf-8')
...您正在尝试将目录作为文件打开,这可能(并且在大多数非UNIX文件系统上)都会失败。
你的另一个例子;
a_file = open('E:\Python Win7-64-AMD 3.3\Test\a.txt', encoding='utf-8')
如果您拥有a.txt
的权限,应该会运作良好。您可能希望使用原始(r
- 前缀)字符串,以确保您的路径不包含任何将转换为特殊字符的\n
转义字符。
a_file = open(r'E:\Python Win7-64-AMD 3.3\Test\a.txt', encoding='utf-8')
答案 1 :(得分:3)
对我来说,我正在写一个在Excel中打开的文件。
答案 2 :(得分:0)
当我的工作目录为C:\Windows\System32
而不是我运行python模块的常用目录时,通过命令提示符意外运行python模块时,我遇到了这个问题
答案 3 :(得分:0)
对我来说,当我尝试将文件写入文件夹并希望确保该文件夹存在时,我遇到了此错误。我不小心用了:
path = Path("path/to/my/file.txt")
path.mkdir(parents=True, exist_ok=True)
with open(path, "w") as file:
...
但第二行的意思是“在这个的精确路径上创建一个目录(并且也创建它的父目录,而不会给它们已经存在的错误)”。然后第三行抛出一个 PermissionError
,因为您当然不能在 目录 路径上使用 open()
!第二行应该是:
path.parent.mkdir(parents=True, exist_ok=True)