Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从Automator创建的apple服务调用python可执行脚本_Python_Macos_Shell_Applescript_Automator - Fatal编程技术网

从Automator创建的apple服务调用python可执行脚本

从Automator创建的apple服务调用python可执行脚本,python,macos,shell,applescript,automator,Python,Macos,Shell,Applescript,Automator,我试图添加一个菜单项,从文件夹右键单击启动幻灯片放映,到目前为止,这是我所拥有的 我不认为我做错了,slideShow/scripts/slideShow目录中的脚本是一个可执行文件,具有以下内容: #! /usr/bin/env python # -*-coding: utf8-*- # file: slideShow import os import sys MODULES_PATH = os.path.join(os.path.dirname(os.path.dirname(os.

我试图添加一个菜单项,从文件夹右键单击启动幻灯片放映,到目前为止,这是我所拥有的

我不认为我做错了,slideShow/scripts/slideShow目录中的脚本是一个可执行文件,具有以下内容:

#! /usr/bin/env python
# -*-coding: utf8-*-
# file: slideShow


import os
import sys

MODULES_PATH = os.path.join(os.path.dirname(os.path.dirname(os.path.realpath(__file__))), "python")
sys.path.insert(0, MODULES_PATH)

import utils
import slideShow
slideShow.main(utils.ingestData(os.getcwd()))
所以问题是,为什么来自automator的脚本能够以正确的路径在桌面上写入文件text555.txt,但不能执行相同的脚本

关于堆栈溢出也有类似的问题,但我正在尝试启动python脚本。我尝试用python/slideshow.py替换scripts/slideshow,以使其与subproces.call(['python',fto])一起工作,但这也不起作用


我在Mac OSx 10.7.4上。

检查
fto
中的路径是否正确。
slideshow
是没有扩展名的Python脚本吗?路径是它和桌面文件之间的一个区别。fto路径是正确的,这就是为什么我要将其打印到文本文件中进行检查。没有.py扩展名的脚本是我粘贴在上面底部的脚本,它是chmod设置为+x slideshow的可执行脚本。您是否将脚本标记为可执行脚本?(
chmod+x[script]
)我认为当脚本作为参数显式传递给python解释器时,它是否被标记为可执行的chmod并不重要。如果你有一个
#,那就很重要了/usr/bin/python
行,并尝试直接按名称运行它。也许你应该试试看。@martineau哦,对了。我已经忘了!