2014-10-29 38 views
-3

我有一個python程序,SSH進入系統,運行.py腳本並且必須捕獲一個文件。如何跳過在Python中的程序中輸入「return」

在SSH進入遠程系統後,運行.py腳本後,我必須手動爲cat程序點擊「return」才能顯示文件的內容。這是因爲該程序停留在那一點。

我有什麼看起來是這樣的:

s = subprocess.Popen(["../../run.py", "cat", "../../file.xml") 
+1

你忘了告訴我們什麼是'../../ run.py'。和你的腳本的大部分。 – 2014-10-29 02:23:42

+0

該腳本什麼都不做,只是SSH進入遠程機器。只是爲了澄清,SSH是一個無密碼登錄(使用SSH-keygen配置) – user2921139 2014-10-29 02:28:23

回答

0

如果我理解正確你想運行一個python腳本,等待它完成,然後貓文件?如果這是正確的,你將不得不使用兩個子進程調用。寫入的行正在運行帶參數cat和../../file.xml的run.py

爲什麼run.py等待用戶輸入?我的第一選擇是改變這一點。與不是一種選擇,我可能會去的東西像

echo "/n" > python ../../run.py 

我不知道你的計劃的背後是這一切的:)如果這是你正在嘗試做的,一個shell腳本的程度會是更好的選擇。像這個 -

ssh [email protected] -c "echo "/n" > python ../../run.py; cat ../../file.xml" 

東西,如果是別的東西,該子模塊的文檔可以解釋大量進入輸入,並從子讀輸出不同的方式。

https://docs.python.org/3/library/subprocess.html