【发布时间】:2020-12-18 10:54:13
【问题描述】:
我有一个包含 4 行代码的脚本:
import subprocess
folderAdd = r"D:\Program Files (x86)\someapp\"
result = subprocess.run(['"' + folderAdd +'someProgram.exe"','"' + folderAdd +'somefile.ext"'], stdout=subprocess.PIPE)
print(result.stdout)
我稍微编辑了代码以删除文件/文件夹的细节(因为我认为这不是问题?)。 someProgram.exe 是我制作的 go lang 程序, somefile.ext 是我使用命令行传递给 go land 程序的文件(例如,命令行中的语法是:“someProgram.ext somefile.ext” . 我遇到的问题是当我运行这个脚本(它存储在我的 E 驱动器上 - 所以这是工作目录)时,我收到以下错误:
PermissionError: [WinError 5] Access is denied
我尝试在 spyder(我选择的 ide)和命令行中运行这个 python 脚本。这两个我都尝试过以管理员身份运行 (based on this question/answer)。我仍然得到相同的权限错误。有没有其他办法解决这个问题?
【问题讨论】:
-
为什么要在 folderAdd 之前添加 '"' ?
-
这里他们提到了所有可能的解决方案techisours.com/winerror-5-access-is-denied-fixed-completely享受
-
@CyrilJouve 我添加了 " 因为文件夹地址中有一个空格(程序文件,而不是程序文件)所以当我在 cmd 中使用它时它会失败!
-
@Cyber-Tech 感谢您的链接,但在完成每条建议后,我仍然遇到问题。我可以使用 print(...) 打印出命令并将其复制并粘贴到 cmd 中并且它可以工作,所以我确信路径等是正确的。我在 Windows 上,所以 chmod 不适用。
标签: python python-3.x permissions