【发布时间】:2017-04-12 08:21:00
【问题描述】:
我已使用this 答案中的方法尝试将“du -sch *”发送到终端,但出现错误。
例如,当我使用这个时:
out = check_output(["du", "-sch", "*"])
我明白了:
Traceback (most recent call last):
File "test_main.py", line 29, in test_sample
out = check_output(["du", "-sch", "*"])
File "/usr/local/lib/python2.7/subprocess.py", line 575, in check_output
raise CalledProcessError(retcode, cmd, output=output)
CalledProcessError: Command '['du', '-sch', '*']' returned non-zero exit status 1
我遇到的问题是由于“*”,因为没有它它可以正常工作。
我也试过了:
output = subprocess.Popen(["du", "-sch", "*"], stdout=subprocess.PIPE, shell=True).communicate()[0]
但我得到的结果与直接在终端中使用命令得到的结果不同。
【问题讨论】: