2016-08-21 67 views
0

我正在編寫一個讀取串行輸入的代碼。一旦串行輸入被讀取,我必須在它下面添加一個時間戳,然後從某個軟件輸出。爲了從軟件中獲得輸出,我希望python寫一個特定的命令給終端,然後讀取終端上的輸出。你能否建議我該如何去做最後一步:即寫信給終端然後讀取輸出?我是Python的初學者,所以請原諒,如果這聽起來微不足道。在python中給終端輸入

+3

請花一些時間閱讀幫助頁面,尤其是名爲[「我可以詢問什麼主題?」](http://stackoverflow.com/help/on-topic)和[「什麼類型的我應該避免提問?「](http://stackoverflow.com/help/dont-ask)。更重要的是,請閱讀[Stack Overflow問題清單](http://meta.stackexchange.com/q/156810/204922)。您可能還想了解[最小,完整和可驗證示例](http://stackoverflow.com/help/mcve)。 – idjaw

+0

@idjaw OP正在詢問如何從終端讀取和寫入數據。他們並沒有要求某人爲他們完成申請。 –

+1

@RobertColumbia如果您認爲這是一個很好的,完全按照SO規則提出的問題,請隨時回答此問題。它缺乏[MCVE],如果OP提供了他們正在嘗試做的事情,甚至爲讀者提供背景信息,以瞭解他們正在採取什麼實施方法以瞭解我們甚至可以開始提供幫助。 – idjaw

回答

0

要運行命令並獲取返回的輸出,可以使用子進程模塊的check_output函數。

import subprocess 

output = subprocess.check_output("ls -a", shell=True) 

這將返回MacOS/Linux中的當前目錄內容並存儲輸出,供您稍後在程序中讀取。 「shell = True」允許您以字符串「ls -a」執行命令。如果你不使用「shell = True」,你會傳遞命令作爲命令的每個部分的列表,例如subprocess.check_output([「ls」,「-a」])。子進程是Python中包含的一個很好的模塊,它允許執行大量的命令行。

因此,對於子進程,您應該可以使用shell命令調用其他程序,代碼,命令等。

0

你需要在軟件中實現python。

另外,我相信這是今年GCSE計算的一項任務,因爲我有足夠的特權來選擇我們正在做什麼測試,並且有關於序列號的問題。