繁体   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