2012-09-17 36 views
0

感謝您花時間閱讀本文。我在Mac OS X 10.7上調用python腳本中的osascript。osascript和python給出錯誤(-2741)

osascript -e 'tell application "Microsoft PowerPoint" to activate' -e 'tell application "System Events" to key code 124' 

這裏是從腳本多數民衆贊成示數的片段:

import os 
cmd = """osascript -e 'tell application "Microsoft PowerPoint" to activate' -e 'tell application "System Events" to key code 124' 
os.system(cmd) 

以下是錯誤日誌:

[error] [client 192.168.10.65] 92:96: 
[error] [client 192.168.10.65] syntax error: Expected end of line, etc. but found identifier. (-2741) 

被敲我的頭幾個小時,請大家幫忙或方向是大大不勝感激! =)

+0

您顯示的代碼段不可能是產生該錯誤的代碼;這不是有效的Python語法。 –

+0

在設置cmd變量的行末尾應該有一組三聯引號。我。不知道這是否是問題,但肯定是語法錯誤。 – dpk2442

回答

0

不確定是否製作了複製粘貼錯字,但應該關閉第二行中的三重引號,因爲它從不關閉。您可能想要包括92:96所映射的行和列,以幫助人們更好地調試問題。此外,這裏有一些其他建議:

  1. 你是否應該結束「告訴」聲明?在我用'osascript'調用的所有腳本中,我都這樣做了。
  2. 如果這不起作用,請嘗試將osascript放入文件並執行該文件,而不是使用'-e'標誌。
  3. 在Python中使用子進程模塊,因爲os模塊執行命令的方式已被棄用。
+0

現在我的newb屁股看到它。它實際上來自osascript。我試圖用apache在.sh腳本中使用它,並給出了相同的錯誤。我已經寫了幾個不同的方式來嘗試。 'osascript << EOF 告訴應用程序「Microsoft PowerPoint中」 激活 端告訴 告訴應用程序「系統事件」 鍵碼123 端告訴 EOF' –

+0

尾隨引號是剪切和粘貼錯誤,但沒有不知道CMD也應該有三重引號。 –

+0

我猜測引用是以某種方式造成這種情況,因爲這就是爲什麼它會報告它找到一個標識符。嘗試使用雙引號並在字符串中用\「\」轉義字面引號 – xshoppyx