刚开始学习一些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
以管理员身份运行的属性。
做的时候;
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')
对我来说,我正在写一个在Excel中打开的文件。
对我来说,我得到了这个错误,当我试图写一个文件到一个文件夹,并希望确保该文件夹存在。我不小心用了:
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)