如何解决在 Mac 终端上找到“reminder.app”的路径非英文本地化
我在 Big Sur 11.2.2 上使用 Macbook Air,语言设置为日语。
我试图在 Python 3.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() 一起使用?
是否因为我使用的是非英语系统语言而无法这样做?
解决方法
使用这个命令:
find / -xdev -name Reminders.app 2> /dev/null
你会发现:/System/Applications/Reminders.app
,如果你想启动它,而不仅仅是找到它,你可以试试这个命令行:
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。我没有尝试过做任何更复杂的事情,但我认为,作为一个 Apple 程序,它支持各种 AppleEvents,因此您可能可以使用 Python 代码中的 AppleScript 做一些很酷的事情,例如实际安排提醒。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。