如何在Mac上使用Python打开应用时传递额外参数?
我在玩Flightgear,想用Python脚本启动/Applications/FlightGear.app,并指定一个特定的飞机,但它不接受额外的参数。
这个方法可以用:
os.system("open /Applications/FlightGear.app/Contents/MacOS/fgfs")
这个方法可以用,但不能选择飞机……我试过在'aircraft'前面加和不加连字符。
os.system("open /Applications/FlightGear.app/Contents/MacOS/fgfs --args aircraft=777-200ER")
供参考,
(来源: flightgear.org)
2 个回答
2
像这样的情况。有时候,有些参数需要根据它们之间的关系进行组合。
import subprocess
p = subprocess.Popen(['open', '/Applications/FlightGear.app/Contents/MacOS/fgfs', '--args', 'aircraft=777-200ER'])
if p.wait() != 0:
raise EnvironmentError()
这些基本信息其实只要在谷歌上搜索“python 运行命令”就能找到。Stack Overflow 不仅仅是给懒人用的工具。
0
在OS X系统上,open
命令是用来启动一个应用程序的。如果你想运行一个命令行程序,就像在unix/linux系统上一样操作,假设/Applications/FlightGear.app/Contents/MacOS/fgfs
确实是一个可以运行的程序。
我不能针对这个特定的情况进行测试,但我认为你想用os.system()
来运行你在命令行提示符下输入的内容。因此,
os.system("/Applications/FlightGear.app/Contents/MacOS/fgfs --aircraft=777-200ER")