我正在尝试从docker容器中的python脚本运行一个自定义shell命令,并捕获输出以供以后使用。我的代码是:
def live_who_is(domain):
live_data = subprocess.check_output('whois {}'.format(domain), shell=True, stderr=subprocess.STDOUT)
print(live_data)
当我运行它时,我得到了这个错误:
Traceback (most recent call last):
File "who_is_compare_script.py", line 158, in <module>
live_who_is('google.com')
File "who_is_compare_script.py", line 149, in live_who_is
live_data = subprocess.check_output('whois {}'.format(domain), shell=True, stderr=subprocess.STDOUT)
File "/usr/local/lib/python2.7/subprocess.py", line 223, in check_output
raise CalledProcessError(retcode, cmd, output=output)
subprocess.CalledProcessError: Command 'whois google.com' returned non-zero exit status 1
如果您将该命令替换为"ls -a“甚至"ls {}".format("-a"),则可以正常工作。
发布于 2018-07-28 04:31:07
我将这一行改为subprocess.call('whois {}'.format(domain),shell=True),它起作用了
https://stackoverflow.com/questions/51564723
复制相似问题