【发布时间】:2014-08-09 23:14:13
【问题描述】:
我需要在本地主机上使用 Python 运行命令 date | grep -o -w '"+tz+"'' | wc -w。我正在使用subprocess 模块,并使用check_output 方法,因为我需要捕获相同的输出。
但是它给我一个错误:
Traceback (most recent call last):
File "test.py", line 47, in <module>
check_timezone()
File "test.py", line 40, in check_timezone
count = subprocess.check_output(command)
File "/usr/lib/python2.7/subprocess.py", line 537, in check_output
process = Popen(stdout=PIPE, *popenargs, **kwargs)
File "/usr/lib/python2.7/subprocess.py", line 679, in __init__
errread, errwrite)
File "/usr/lib/python2.7/subprocess.py", line 1249, in _execute_child
raise child_exception-
OSError: [Errno 2] No such file or directory
【问题讨论】:
-
@wnnmaw
subprocess.check_output(command)其中命令如 OP 中所述 -
你是如何设置
command的值的? (不清楚 OP 中的所有单引号和双引号是如何排列的。)tz的值是多少? -
这是我从 optparser 获得的值。无论如何问题都解决了。谢谢
-
如果您尝试运行的命令是内置的shell,请参阅stackoverflow.com/questions/35046004/subprocess-filenotfound
标签: python shell subprocess pipe