为什么用python解析的输出不会写入文本文件?

为什么用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

我正在编写下面的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 = 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字符串的格式写入?也许这就是问题所在?这是可能的(但不太可能),这也会给你一个例外。