为什么用python解析的输出不会写入文本文件?
我正在编写下面的python脚本来解析whois数据,以获得一个单独文件中的域名列表。以下是脚本:为什么用python解析的输出不会写入文本文件?,python,text,printing,whois,Python,Text,Printing,Whois,我正在编写下面的python脚本来解析whois数据,以获得一个单独文件中的域名列表。以下是脚本: from __future__ import print_function, division import whois from publicsuffix import PublicSuffixList file = '/data/personal/Mae-git-domains.txt' output = '/data/personal/whois-Mae.txt' psl = Publi
from __future__ import print_function, division
import whois
from publicsuffix import PublicSuffixList
file = '/data/personal/Mae-git-domains.txt'
output = '/data/personal/whois-Mae.txt'
psl = PublicSuffixList()
f = open (file,'r')
for line in f:
url = line.split(' ')[1]
domain = url.split('http://')[1].split('/')[0]
try:
w =whois.whois(domain)
results = domain,w.creation_date,w.expiration_date
with open (output,'wb') as m:
m.write(results.text)
# print ("%s,%s,%s" % (domain,w.creation_date,w.expiration_date), file = m )
# print >> m ,"%s|%s|%s" % (domain,w.creation_date,w.expiration_date)
# m.write("{0},{0},{0}".format(domain,w.creation_date,w.expiration_date))
except:
# print ("%s,%s,%s" % (domain,[],[]), file = m )
pass
当我在终端上打印它时,它会被打印出来,但当我尝试写入或打印到文本文件时,它不会被打印出来(其他打印/写入尝试在代码中作为注释)。有人知道为什么会发生这种情况吗?要将其写入文本文件,您可以使用
m.write(str(results.text))
,您基本上需要将其强制为字符串,因为它的类型是unicode。所有写入文件的方法都是有效的,应该可以工作,写入文件时是否会出现异常?可能是权限错误或其他原因?@kalhartt不,我没有收到任何异常。@kalhartt可能是因为某些内容无法以%s字符串的格式写入?也许这就是问题所在?这是可能的(但不太可能),这也会给你一个例外。