我是python的新手。对不起,如果以下问题非常基本。
我在以下情况下遇到属性错误。亲切的建议想要我错过。 我正在使用python 2.4。
count = subprocess.Popen(["awk -F'n=' '{x+=$2}END{print x}' output"],stdout=subprocess.PIPE.communicate()[0],shell=True)
AttributeError:' int'对象没有属性'沟通'
感谢, 拉杰什
答案 0 :(得分:0)
替换
stdout=subprocess.PIPE.communicate()[0]
与
stdout=subprocess.PIPE
我想这就是你想输入的内容:
count = int(subprocess.Popen(["awk -F'n=' '{x+=$2}END{print x}' output"], stdout=subprocess.PIPE, shell=True).communicate()[0])
请注意shell=True
大部分时间都不安全,而且也不必要地慢。在您的情况下,有一种简单的方法可以避免它:
count = int(subprocess.Popen(('awk', '-Fn=', '{x+=$2}END{print x}', 'output'), stdout=subprocess.PIPE).communicate()[0])