python - Python 在 Windows 中的 Popen 在同一件事上既成功又失败
问题描述
LYX_EXE = r'"c:\Program Files (x86)\LyX 2.3\bin\LyX2.3.exe"'
process = subprocess.Popen(LYX_EXE)
这有效 - 程序加载。
LYX_EXE = r'"c:\Program Files (x86)\LyX 2.3\bin\LyX2.3.exe"'
process = subprocess.Popen([LYX_EXE])
这失败了:我得到“PermissionError:[WinError 5] 访问被拒绝”。
我做错了什么?我需要第二种调用类型,因为我想使用参数。
解决方案
我认为在第二种调用类型中你必须避免引用(因为它已经在一个列表中,可执行文件和参数已经分开了):
LYX_EXE = r"c:\Program Files (x86)\LyX 2.3\bin\LyX2.3.exe"
process = subprocess.Popen([LYX_EXE])
另请参阅:https ://docs.python.org/2/library/subprocess.html#converting-argument-sequence
推荐阅读
- maven - 特定代理上的 java 测试失败
- java - TimeTCPClient 和 TimeUDPClient 都超时
- java - 使用 POJOS 多态反序列化 JSON
- oracle-apex - 具有自动完成功能的文本字段
- java - 当我按下按钮时,动作监听器不工作
- r - InvalidArgumentError: indices[127,7] = 43 is not in [0, 43) in Keras R
- python - 输入文件路径并传递给字符串文字
- pandas - Read XML file to Pandas DataFrame
- angular - @angular/platform-browser/platform-browser"' 没有导出成员 'HammerLoader'
- javascript - jQuery每个函数的结果怎么办?