繁体   English   中英

Python子进程访问被拒绝

[英]Python subprocess access denied

我正在尝试使用python脚本在后台静默安装Java。 路径正确,并已通过isfile验证。 我收到“拒绝访问”异常。 我正在以本地计算机上的管理员身份运行它。

subprocess.Popen('C:\Users\xUser\jdk-8u45-windows-x64.exe /s ADDLOCAL="ToolsFeature,SourceFeature"');

错误返回

WindowsError: [Error 5] Access is denied

您是否在常规终端中运行此程序? 在Windows中,您需要专门为管理特权打开终端:

  1. 在“开始”菜单搜索窗口中,键入cmd,然后按Ctrl + Shift + Enter 或者,导航至所有程序>附件>右键单击命令提示符,然后单击Run as administrator
  2. 在此新终端中运行python脚本。

编辑:搜索会导致导航到安装程序所在的目录后执行命令也可能会出现问题; 请参见WindowsError [错误5]拒绝访问

install_dir=r"C:\Users\xUser\"
assert os.path.isdir(install_dir)
os.chdir(install_dir)
subprocess.Popen('jdk-8u45-windows-x64.exe /s ADDLOCAL="ToolsFeature,SourceFeature"')

最后,对于Unix,我总是使用一组命令(不确定Windows是否需要),而不是一个长字符串,例如

subprocess.Popen(['jdk-8u45-windows-x64.exe', '/s', 'ADDLOCAL="ToolsFeature,SourceFeature"'])

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM