本文主要是介绍python执行shell命令时的终端输出捕获 TypeError: not all arguments converted during string formatting,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
在python脚本中执行shell命令的时候,如curl mysql等命令,会有一些诸如download的终端输出无法重定向或者捕获。
这时可以通过如下命令进行捕获和保存起来:
import subprocesscmd=''' mysql -h -p'''
result=subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE,stderr=subprocess.PIPE).communicate()
result="\n".join(result)
print result
捕获到的result是list类型,所以这里用join做字符串转化然后可以打印和显示出来
TypeError: not all arguments converted during string formatting
%s输出是字符串,如果这里是tuple list set dict等和字符串一起输出,需要对集合先进行转化。
如上:
我们对list进行了join,让list中每个元素一行一行的输出。
这篇关于python执行shell命令时的终端输出捕获 TypeError: not all arguments converted during string formatting的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!