我對python很陌生,我在我的工作中需要弄清楚腳本。Python管道和命令行參數
我的腳本解析了一些處理另一個二進制文件(我們稱之爲processedBinary)的exe文件(我們稱之爲Mywork.exe)的輸出。現在,我的scrpit在某個時候想要取得一個processedBinary的名字並在其上做一個objdump。我可以看到以前的作者(對於我來說無法訪問)已經使用這行sys.argv [1]來獲取processedBinary的名稱。我的腳本處理MyWork.exe的輸出。到目前爲止,我成功調用腳本的唯一方法是運行:
MyWork.exe processedBinary |/usr/bin/python ./myScript.py -v
然後我的腳本正確地處理輸出,但它根本沒有獲取processedBinary的名字(而是sys.argv [1]實際上是「-v 「)。所以,我有幾個問題:
1)有沒有更好的方式來運行我的腳本,以便sys.argv [1]是processedBinary的名稱? 2)如果上一個問題的答案是否定的,是否有一種方法可以更好地獲取processedBinary的名稱? 3)您是否對腳本的實現/調用有更好的建議?
預先感謝您!
謝謝你的元組,但你的建議的問題是,我們認爲MYWORK是在同一個位置始終,但事實並非如此。 – Nikola 2012-04-02 11:15:13
這是怎麼回事: command ='%s%s'%(sys.argv [1],sys.argv [2]) 使第一個參數成爲MyWork.exe的位置,第二個成爲文件被處理。 – Andrew 2012-04-02 11:28:50