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