我在Big Sur 11.2.2上使用Macbook Air,语言设置为日语。
我试图在Python3.8.5上使用subprocess.Popen( )启动"reminder.app“。交互式外壳。但是,即使我使用日语应用程序名称(以及以日语应用程序名称显示的Calculator.app、Dictionary.app和许多其他应用程序名称),也无法启动Reminders.app。然而,我能够启动我安装的应用程序。
>>> import subprocess
>>> subprocess.Popen(['open', '/Applications/Reminders.app/'])
<subprocess.Popen object at 0x7ffa8e233e80>
The file /Applications/Reminders.app does not exist.
>>> subprocess.Popen(['open', '/Applications/リマインダー.app/']) # Japanese name of app
<subprocess.Popen object at 0x7ffa8e233d60>
The file /Applications/リマインダー.app does not exist.
subpsubprocess.Popen(['open', '/Applications/Safari.app/'])
<subprocess.Popen object at 0x7ffa8e233bb0>
# success!我已经使用Finder进行了检查,我正在寻找的所有应用程序都显示在GUI界面中,尽管给出了日语名称。然而,这些应用程序根本无法在终端命令行上找到,也无法操作,即使使用ls -a也是如此。
我如何找到指向提醒应用程序的路径,以便在subprocess.Popen()中使用它?
因为我使用的是非英语系统语言,所以不能这样做吗?
发布于 2021-03-13 12:38:52
如果你想启动它,而不是仅仅找到它,你可以尝试这个命令行:
osascript -e 'tell application "Reminders" to activate'我不知道你能不能用日本名字代替,但值得一试。所以在Python中:
import os
os.system('osascript -e \'tell application \"Reminders\" to activate\'')或
import subprocess
subprocess.Popen(['/usr/bin/osascript', '-e', 'tell application \"Reminders\" to activate'])osascript命令基本上是运行单引号中的小AppleScript。我没有尝试过做更复杂的事情,但我假设,作为一个苹果程序,它支持所有种类的AppleEvents,所以你可能可以做一些很酷的事情,比如使用Python代码中的AppleScript来实际安排提醒。
发布于 2021-03-13 03:05:18
使用以下命令:
find / -xdev -name Reminders.app 2> /dev/null你可以找到:/System/Applications/RMinders.app
https://stackoverflow.com/questions/66605034
复制相似问题