версии Python: "2.6.5 (R265: 79063, 1 октября 2012, 22:07:21) \ п [GCC 4.4.3]с использованием метода subprocess.call
У меня есть это:
>>> ss = subprocess.call("ls -z", shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
Как получить сообщение об ошибке сейчас?
Это не работает:
>>> for i in subprocess.PIPE:
... print i
...
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'int' object is not iterable
Есть ли причина, по которой вы используете 'shell = True' и' 'ls -z" 'вместо' ["ls", "-z"] '? Это не относится к вашей проблеме, но, как правило, использование оболочки, когда вам не нужно, является плохой идеей, поскольку это передача команд и надеется, что вы получите право на побег, чтобы они разобрались в списке, который вы имели в виду. – abarnert