gpt4 book ai didi

Python-文件处理(Write方法)

转载 作者:太空宇宙 更新时间:2023-11-03 18:04:15 25 4
gpt4 key购买 nike

我在使用 python 写入文件时遇到问题

from validate_email import validate_email

result=open('output1.tsv','wb')

f=open('input.csv','r')

y=[]

result.write('Email_address\tEmail_validation\n')

for i in f:
y.append(i.replace('\n',''))

for j in y:
try:
val=validate_email('%s'%j, verify=True)
except:
val = "Check Again"
result.write('%s\t%s\n'%(j,val))
print j,val

这里变量x有一些操作,可能需要一些时间来处理它。

变量 y 的计数超过 500(输入文件包含 700 行)。

但运行该程序后,大约 120 只写入输出文件中。

最佳答案

更惯用的Python是

emails    = [l.strip() for l in open('input.csv','r').readlines()]
valid = [str(validate_email(addr, validate=1)) for addr in emails]
validated = ['\t'.join(addr_val) for addr_val in zip(emails, valid)]

with of as open('output.tsv'):
of.write('Email_address\tEmail_validation\n')
of.write('\n'.join(validated)) # if needed ; of.write('\n')

编辑以回应OP的进一步信息

要考虑 TimeoutError 异常(可能由 smtp 模块引发)的可能性,您可以编写一个辅助函数

def validate_no_timeout(address):
try:
response = str(validate_email(address, validate=1))
except TimeoutError:
response = "Time Out"
return response

并重写我原来帖子中的第二行来阅读

valid     = [validate_no_timeout(addr) for addr in emails]

注意:在 OP 中,我看到对超时错误的一般引用。在我的代码中,我捕获了 TimeoutError 异常,因为缺乏来自 OP 的确切信息。

关于Python-文件处理(Write方法),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27164794/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com