我有以下代码来检查CNAME的URL列表。等效的bash命令是“dig mail.yahoo.com | grep CNAME”
'hostname.txt'文件包含网址列表。
#!/usr/bin/python
from subprocess import Popen, PIPE
with open('hostname.txt') as hl:
for host in hl:
print host
p1 = Popen(["dig", host], stdout=PIPE)
p2 = Popen (["grep", "CNAME"], stdin=p1.stdout, stdout=PIPE)
p1.stdout.close()
output = p2.communicate()[0]
我从上面的python代码中得不到所需的输出。我低于输出。
$
python dev / cname_check.py
mail.yahoo.com
gmail.com
google.com
$
请让我知道我错过了什么。我从这里开始跟踪示例,http://docs.python.org/dev/library/subprocess.html#replacing-shell-pipeline
感谢。
答案 0 :(得分:0)
您打印host
但不打output
,这就是您只看到列出的主机的原因。只需在最后添加print output
...