如何创建一个 Automator 应用程序,它获取一个文件作为参数并在 macOS Monterey 中使用该文件运行 python 脚本?
How do I create an Automator application that gets a file as an argument and runs a python script with this file in macOS Monterey?
如何使用 automator 创建一个 mac 应用程序,它获取我“放入”其中的文件并使用该文件作为参数执行 python 脚本?
我尝试了各种建议在 Automator 中创建“服务”的问题的解决方案,但我在蒙特雷的 Automator 中没有看到这样的选项
- 在 Automator
中创建一个新的 应用程序
- Select “运行 shell 脚本”操作从左侧边栏并通过 double-clicking 添加它
- 将shell更改为
/bin/bash/
- 更改将输入传递给作为参数(请参阅下面的屏幕截图)
- 将代码添加到“运行 shell 脚本块”,例如添加以下代码以将目录更改为 python 脚本目录,激活虚拟环境并从中 运行 脚本并将文件作为参数传递(使用
""
获取文件作为参数):
cd my_project_directory
source .venv/bin/activate
python my_script.py ""
- 将您的自动化保存为应用程序
- 您现在可以将任何文件拖放到您在 Finder 中保存的应用程序的应用程序图标上,以将其传递给脚本并执行
编辑:
如果您希望能够一次将多个文件拖放到您的应用程序中,并且 运行 为每个文件依次添加一个脚本,您可以将最后一行更改为以下代码:
for f in "$@"
do
python my_script.py "$f"
done
如何使用 automator 创建一个 mac 应用程序,它获取我“放入”其中的文件并使用该文件作为参数执行 python 脚本?
我尝试了各种建议在 Automator 中创建“服务”的问题的解决方案,但我在蒙特雷的 Automator 中没有看到这样的选项
- 在 Automator 中创建一个新的 应用程序
- Select “运行 shell 脚本”操作从左侧边栏并通过 double-clicking 添加它
- 将shell更改为
/bin/bash/
- 更改将输入传递给作为参数(请参阅下面的屏幕截图)
- 将代码添加到“运行 shell 脚本块”,例如添加以下代码以将目录更改为 python 脚本目录,激活虚拟环境并从中 运行 脚本并将文件作为参数传递(使用
""
获取文件作为参数):
cd my_project_directory
source .venv/bin/activate
python my_script.py ""
- 将您的自动化保存为应用程序
- 您现在可以将任何文件拖放到您在 Finder 中保存的应用程序的应用程序图标上,以将其传递给脚本并执行
编辑:
如果您希望能够一次将多个文件拖放到您的应用程序中,并且 运行 为每个文件依次添加一个脚本,您可以将最后一行更改为以下代码:
for f in "$@"
do
python my_script.py "$f"
done