2017-04-12 85 views
-1

我在使用python獲取一些linux代碼輸出時遇到了問題。 我想這是因爲轉義字符在python字符串中獲取控制檯輸出

命令我嘗試運行

nmap 192.168.1.* -p T:80 --open | awk '/is up/ {print up}; {gsub (/\(|\)/,""); up = $NF}' 

,我想更換192.168.1的。*與像

network = "192.168.1.*" 
nmap + network + -p T:80 --open | awk '/is up/ {print up}; {gsub (/\(|\)/,""); up = $NF}' 

每當一個字符串變量我嘗試得到錯誤。 感謝您的回覆!

+2

Python如何介入?你有什麼錯誤,你有什麼嘗試? – Claudio

回答

0

我解釋你的問題作爲一個bash相關問題

使用字符串變量是這樣的:

$ export network="192.168.1.*" 
$ nmap $network -p T:80 --open | awk '/is up/ {print up}; {gsub (/\(|\)/,""); up = $NF}' 

我沒有檢查該命令的其餘部分,雖然...

0

我發現這個

command = "nmap "+network+ " -p T:80 --open | awk " + r"""'/is up/ {print up}; {gsub (/\(|\)/,""); up = $NF}'""" 
output = str(os.popen(command).read()).strip() 
print output 

由於像解反正...