簡體   English   中英

如何使用 Python 執行的 AppleScript 打印到終端?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM