Python 2.7 捕获subprocess.call的输出

Python 2.7 捕获subprocess.call的输出,python-2.7,docker,whois,Python 2.7,Docker,Whois,我试图使用subprocess.call捕获docker容器中python脚本发出的whois调用的输出。我尝试过使用Popen和check_输出,但它们会抛出错误。代码如下: live_data = subprocess.call('whois {}'.format(domain), shell=True) 你能分享实际的错误吗?在Docker容器中是否与您的问题相关(Docker外部是否存在相同的问题),如果是,您能否共享Dockerfile?您能否修复shell注入漏洞?whois二进制

我试图使用subprocess.call捕获docker容器中python脚本发出的whois调用的输出。我尝试过使用Popen和check_输出,但它们会抛出错误。代码如下:

live_data = subprocess.call('whois {}'.format(domain), shell=True)

你能分享实际的错误吗?在Docker容器中是否与您的问题相关(Docker外部是否存在相同的问题),如果是,您能否共享Dockerfile?您能否修复shell注入漏洞?whois二进制文件是否位于调用用户的路径中?还有,更重要的是:为什么要调用一个外部二进制文件,而您可以轻松地1)使用任何执行此任务的Python库,甚至2)只需在端口43上打开一个TCP套接字,发送域并读取内容,因为这基本上是whois协议中定义的所有内容?在我问了这个问题后,我遇到了pywhois,并且正在进行更多的研究。问题是它将电子邮件和组织分组在一起,但我需要它们位于原始数据字段中。所以我现在正在摆弄它,试图让它不把它们放在一个列表中。我对whois很不熟悉,所以这是一种挑战。听起来好像有更多的库处理whois。您是否建议使用dict返回数据,即在命令行上返回数据时的外观?