子进程权限被拒绝

3

我正在了解Python如何在Windows 10上启动其他程序,然后我在Stack Overflow上看到有人说:

import subprocess
subprocess.call(['C:\\Users\Edvin\Desktop', 'C:\\Example.txt'])

我认为应该这样做,所以我更改了位置,使其特定于我,并且出现了一个错误,即PermissionError:[WinError 5]拒绝访问

有人知道如何授予Python打开文件的权限吗?

我已经尝试过:

import subprocess
subprocess.call(['C:\\Users\\Edvin\\AppData\\Roaming\\Microsoft\\Windows'
                 '\\Start Menu\\Programs\\Accessories\\Notepad.exe'],
                 'C:\\Users\\Edvin\\Desktop\\Example.txt')

但是出现了TypeError: bufsize必须是一个整数的错误。


别担心,很明白,我没有读得够仔细。 - user1361491
1个回答

5

问题在于你试图将你的桌面作为程序来启动,使用文本文件作为参数。

这是不被允许的,因为你不能执行桌面(因为它无法执行)。

subprocess.call(["command here", "arguments here"])

如果这是一个 exe 文件,请使用。
subprocess.call(['C:\\...\\program.exe', 'argument'])

如果这是一个 Python 脚本,请使用:
execfile('file.py')

尝试使用双斜杠(\)代替单斜杠(\)。 - user1361491
可能的话,请尝试一下。反斜杠真是让人头疼 ;) - user1361491
哦,而且你的代码并不完全正确,你需要使用call(["记事本的链接", "要打开的文件在这里"]) - user1361491
你是指文本文件的文件路径吗? - undefined
刚刚发现记事本是.lnk文件,但这并没有解决我的问题。我真的不知道为什么文件找不到,如果我已经从文件资源管理器中复制了路径。 - undefined
显示剩余19条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接