2010-09-10 18 views
2

我無法找到針對Python的解決方案。執行外部應用程序並向其發送一些關鍵事件

我abeltØ啓動應用程序(使用subprocess.Popen或subprocess.call),但我不能找到一種方法,做其他部分:

我想送鑰匙的系列(一種的宏)到我剛剛打開的應用程序。像:

標籤 標籤 輸入 標籤 標籤 刪除 ...

有沒有辦法做到這一點,是Mac和PC兼容嗎?或者,如果不是,只有PC?

感謝您的幫助, 羅勒

PS。我知道有一些應用程序可以自動執行一些按鍵事件,但我想自己做。

回答

0

使用參數stdin=subprocess.PIPE運行subprocess.Popen()命令,然後使用Popen對象的stdin文件將數據寫入進程的標準輸入流。對於你提到的一些命令,標準字符串轉義是可用的(比如'T'用於TAB)。但是,如果您需要更全面的鍵集,則需要拆分舊的ASCII表並通過chr()函數將字符串拼接起來。

p = subprocess.Popen(['bash',], stdin=subprocess.PIPE) 
p.stdin.write('echo "Hello\t\t\tWorld"\n') 
0

感謝您的回答。我試過使用subprocess.Popen(),但它似乎不起作用。發送'\ t'字符串不起作用......它根本沒有任何作用......請注意,該應用程序不是基於python的(它是一個安裝應用程序 - 基本上它們是自動解壓zip文件(.exe),而且我有他們數百...)

我會嘗試一些Windows模塊的其他想法...但我真的更喜歡使用Mac和PC兼容的東西...

相關問題