子进程权限被拒绝

E_J*_*E_J 2 python windows permissions subprocess python-3.5

我一直在研究python如何在Windows 10上启动其他程序,我在堆栈溢出中,有人说:

import subprocess
subprocess.call(['C:\\Users\Edvin\Desktop', 'C:\\Example.txt'])
Run Code Online (Sandbox Code Playgroud)

应该这样做,所以我更改了位置,使其特定于我,并且出现了错误PermissionError: [WinError 5] Access is denied

有谁知道如何授予python打开文件的权限?

我试过了:

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

但这会带来TypeError: bufsize must be an integer错误。

小智 5

问题是您试图以程序启动桌面。以文本文件为参数。

不允许这样做是因为不允许执行桌面(因为它无法执行)。

subprocess.call(["command here", "arguments here"])
Run Code Online (Sandbox Code Playgroud)

如果exe有用

subprocess.call(['C:\\...\\program.exe', 'argument'])
Run Code Online (Sandbox Code Playgroud)

如果是python脚本,请使用

execfile('file.py')
Run Code Online (Sandbox Code Playgroud)