1

Pythonを使用して、"""文字列とosascriptを試しています。

os.system("""arch -i386 osascript -e
                      ' tell application "Finder"
                        activate
                        display dialog "Hi"
                        end tell'""")

これはPythonから実行されていますが、それは私にそれを伝え続けます

osascript: option requires an argument -- e
usage: osascript [-l language] [-e script] [-s {ehso}] [programfile] [argument ...]

あなたのことはわかりませんが、私の声明には-eが含まれています。その不足はありません。どうしたの??ターミナルが読み取るために、その中にHEREDOC(Pythonヒアドキュメントであると私が信じているもの)を指定する必要がありますか?

4

1 に答える 1

1

問題は、Pythonのヒアドキュメント/二重引用符で囲まれた文字列構文が、文字列内の改行やその他の空白を保持することです。どうやら、これはsystem()どういうわけか呼び出しを壊します。問題のある改行を取り除き、スクリプト文字列を動作するはずの直後に開始するようにします-e

于 2012-06-25T19:59:30.200 に答える