【发布时间】:2015-10-17 21:09:29
【问题描述】:
所以我需要能够通过基于用户输入运行的 python 脚本打开应用程序。 (即,如果有人键入“Word”,程序会打开 Microsoft Word)
那么,使用 subprocess.Popen() 打开 Word 或 MySqlWorkbench 之类的应用程序的正确上下文是什么?任何帮助表示赞赏
【问题讨论】:
标签: python macos subprocess
所以我需要能够通过基于用户输入运行的 python 脚本打开应用程序。 (即,如果有人键入“Word”,程序会打开 Microsoft Word)
那么,使用 subprocess.Popen() 打开 Word 或 MySqlWorkbench 之类的应用程序的正确上下文是什么?任何帮助表示赞赏
【问题讨论】:
标签: python macos subprocess
这应该可以帮助您入门:
import subprocess
def get_app_name(appNamesList, app):
for appName in appNamesList:
if app in appName:
return appName
return ""
p = subprocess.Popen(["ls", "/Applications/"], stdout=subprocess.PIPE)
appNames = p.communicate()[0].split("\n")
appNameEntered = raw_input('What app would you like to open?')
appName = get_app_name(appNames, appNameEntered)
if appName != "":
p = subprocess.Popen(["open", "-n", "/Applications/" + appName], stdout=subprocess.PIPE)
else:
print 'No app with that name installed'
示例输入:Photo B,应打开 Photo Booth.app
【讨论】: