首页 > 解决方案 > Errno 13 打开时,即使启用了权限

问题描述

我正在学习 python 3,并且正在学习如何使用内置 open() 函数的教程。我在 Windows 10 上使用 python 3.8。

我在运行下面的代码时遇到的问题是它表现得好像我没有对该文件的权限。我已经检查并确保我在文件夹中拥有完全权限(这在 Errno 13 的许多情况下似乎是问题所在)。

我的python脚本:

file = open("sample.txt","w")

file.write('Hello World')
file.write('This is written using Python')

file.close()

我在控制台中遇到的错误(省略了完整的文件路径):

Traceback (most recent call last):
  File "C:\....movement.py", line 3, in <module>
    file = open("sample.txt","w")
PermissionError: [Errno 13] Permission denied: 'sample.txt'

一些额外的细节:

任何帮助,将不胜感激 :)

更新 1 试过:

更新 2 看起来我的当前目录是错误的 (C:\Program Files\Notepad++) 有没有办法在 python 脚本本身中设置路径,或者我应该深入研究 Notepad++ 设置?

标签: python

解决方案


好的,这是一个修复:

import os 
import pathlib

print(os.getcwd())

#Get the path to this script
path = (pathlib.Path(__file__).parent.absolute())

#Change the path to the correct one
os.chdir(path)

print(os.getcwd())

将上述代码添加到脚本的开头会更改脚本文件所在位置的路径。这解决了权限问题并允许 python 正确使用 open()。

感谢所有帮助我解决这个问题的人!


推荐阅读