[英]How do I print to terminal with an AppleScript executed with Python?
我有一个执行苹果脚本的 Python 脚本。 我想从苹果脚本中打印到终端。
这是我的 Python 代码。
import applescript
myfunction = """
do shell script "echo " & "words to terminal"
"""
def runfunction():
applescript.tell.app("Terminal", myfunction, background = False)
然后我用python -c 'import myapplescript; print myapplescript.runfunction()'
python -c 'import myapplescript; print myapplescript.runfunction()'
我尝试使用“do shell 脚本”短语从苹果脚本中打印到终端,并copy "Hello World!" to stdout
copy "Hello World!" to stdout
import applescript
那不是一个很好的图书馆。 如果您的需求很简单,我会直接使用 subprocess 。
另请注意, osascript
在其自身的 IO 支持方面受到限制。 没有访问标准输入的内置方法,写入标准输出的唯一数据是脚本末尾返回的最后一个值(如果有)。 (您可以随时使用log
命令写入 stderr,尽管这会有自己的一系列问题。)
如果您想直接在 AppleScript 代码中访问标准输入/标准输出,则必须使用 Cocoa 的NSFileHandle
class。 几年前我写了一个文件库,它提供了易于使用的包装器,尽管我不维护或支持它。
如果你的需求更高级——例如你想调用一个或多个 AppleScript 处理程序或传递比简单(短)字符串更复杂的东西——并且你安装了 PyObjC,你最好使用[这个库]( https:// pypi.org/project/py-applescript/ )或 AppleScript-ObjC桥。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.