我正在尝试执行 shell 命令,然后使用 shell 脚本将输出保存到变量中。所以我使用这样的反引号:
out=`ls -l`
print $out
该代码工作正常,我可以将它用于任何其他 shell 命令,但是当我尝试执行“python --version”来检查 python 版本时。我遇到了奇怪的问题。反引号不适用于“python --version”命令,而它与任何其他命令都可以正常工作,它将输出打印到屏幕上,并且不向变量 $out 保存任何内容。所以如果我这样做:
out =`python --version`
print "my python version is "$out
result:
Python 2.6.1
my python version is
我也尝试使用 $() 来替换反引号,但没有成功。任何想法 ?
等号前有一个空格:
out =`python --version`
应该:
out=`python --version`
Update
python还将版本字符串输出到stderr,因此您需要将其重定向到stdout:
out=`python --version 2>&1`
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)