PermissionError: [WinError 5] 访问被拒绝

QWE*_*XCV 8 python windows permissions subprocess file

我正在尝试使用 调用 python 程序subprocess,但出现权限错误。我尝试以管理员身份运行 PyCharm,但没有帮助。

我的代码:

answer = subprocess.check_output("../folder python program %s %s" %(valueA, valueB), encoding = 'utf8')
Run Code Online (Sandbox Code Playgroud)

错误:

answer = subprocess.check_output("../folder python program %s %s" %(valueA, valueB), encoding = 'utf8')
Run Code Online (Sandbox Code Playgroud)

有人知道如何修复此权限错误吗?

djv*_*jvg 6

尽管它没有回答最初的问题,但PermissionError如果您(不小心)尝试运行目录而不是文件,也会出现这种情况。

例如,其中任何一个都会引发PermissionError: [WinError 5] Access is denied

subprocess.check_output('.')
Run Code Online (Sandbox Code Playgroud)
subprocess.run('.')
Run Code Online (Sandbox Code Playgroud)

作为一个最小的示例,其中'.'表示当前目录的路径。

另一方面,如果您尝试运行一个不存在的文件,您将得到一个更有用的FileNotFoundError: [WinError 2] The system cannot find the file specified.

在 Windows 和 Ubuntu 上使用 python 3.10.6 进行了测试。在 Ubuntu 上,上面的例子提出了一个PermissionError: [Errno 13] Permission denied.


Uro*_*vic 6

关闭文件浏览器...

愚蠢,但如果您在资源管理器中打开文件夹并且尝试对文件夹/文件执行任何操作,您将收到此错误


小智 2

检查当前用户的文件权限。

右键单击该文件,在安全性中可以看到用户的文件权限。

如果您没有读取文件的权限,请高级 > 选择主体,然后检查此文档。