子进程权限被拒绝

时间:2016-10-12 16:33:49

标签: python windows permissions subprocess python-3.5

我正在调查python如何在Windows 10上启动其他程序,我在堆栈溢出时有人说:

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

应该这样做,所以我更改了位置,因此它特定于我,并且出现了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')

但是这会出现TypeError: bufsize must be an integer错误。

1 个答案:

答案 0 :(得分:5)

问题在于您尝试将桌面作为程序启动。用文本文件作为参数。

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

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

如果它是exe使用

subprocess.call(['C:\\...\\program.exe', 'argument'])

如果它是python脚本使用

execfile('file.py')