簡體   English   中英

將linux命令輸出分配給python 2.6.6中的變量

[英]Assign linux command output to variable in python 2.6.6

我正在嘗試將Shell腳本移植到python。 使用了Google搜索中的各種方法,但似乎都不起作用。

這是shell命令。

version=`awk '{print $5}' file_name | tr -d ")" `

這些是嘗試過的方法。

version = subprocess.call(['awk','{print $5}','file_name','|','tr','-d'], shell=True)
version = os.system("`awk '{print $5}' file_name | tr -d ")" `", shell=True)
version = commands.getstatusoutput(" awk '{print $5}' file_name | tr -d ")"  ")

以上命令均無效。 有人可以幫我嗎。

您的示例有各種引用錯誤。

最直接的解決方案是:

subprocess.call('awk \'{print $5}\' file_name | tr -d ")"', shell=True)

但這是不建議的,因為file_name可以包含空格(您可以通過shell = False繞開並正確使用參數列表,但是它變得不可讀)。

我建議用tr -d x.split()[4] for x in open('file_name') str.replace(')', '')x.split()[4] for x in open('file_name')而不是awk x.split()[4] for x in open('file_name')類的東西,以獲得純python版。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM