你有进程的退出代码。见subprocess.call() documentation:
运行 args 描述的命令。等待命令完成,然后返回returncode 属性。
对于链接的returncode 条目:
子返回码,由poll() 和wait() 设置(间接由communicate() 设置)。
如果您希望该过程在标准输出上产生输出,则应使用 subprocess.run(),并将 stdout 设置为 subprocess.PIPE,以便您可以在 Python 中读取该输出:
import subprocess
callme = 'whois %s ' % domain
proc = subprocess.run(callme, shell=True, stdout=subprocess.PIPE)
data = proc.stdout
这会给你一个bytes 对象;您可以设置text=True 来获取解码后的字符串值。
演示:
>>> import subprocess
>>> proc = subprocess.run('whois stackoverflow.com', shell=True, stdout=subprocess.PIPE)
>>> proc.stdout.partition(b'\n')[0]
b'% IANA WHOIS server'
>>> proc = subprocess.run('whois stackoverflow.com', shell=True, stdout=subprocess.PIPE, text=True)
>>> print(*proc.stdout.splitlines()[57:74], sep='\n')
Domain Name: STACKOVERFLOW.COM
Registry Domain ID: 108907621_DOMAIN_COM-VRSN
Registrar WHOIS Server: whois.name.com
Registrar URL: http://www.name.com
Updated Date: 2018-01-11T17:50:25Z
Creation Date: 2003-12-26T19:18:07Z
Registry Expiry Date: 2019-02-02T11:59:59Z
Registrar: Name.com, Inc.
Registrar IANA ID: 625
Registrar Abuse Contact Email: abuse@name.com
Registrar Abuse Contact Phone: 7202492374
Domain Status: clientTransferProhibited https://icann.org/epp#clientTransferProhibited
Name Server: NS-1033.AWSDNS-01.ORG
Name Server: NS-358.AWSDNS-44.COM
Name Server: NS-CLOUD-E1.GOOGLEDOMAINS.COM
Name Server: NS-CLOUD-E2.GOOGLEDOMAINS.COM
DNSSEC: unsigned