Python从txt文件中读取邮件帐户

时间:2012-09-04 16:45:27

标签: python-2.7

...的Python

我有一个电子邮件地址文件,我需要创建一个脚本来将所有这些地址作为帐户导入,因此有一些文本操作正在进行,我需要学习更多python。
该文件的格式为

user1@domain1.co.uk
user1@domain2.com
user2@domain4.com
user3@domain4.com

这基本上是一个用户名和域名,我需要创建一个帐户名(与用户相同)和域,以及电子邮件地址,以及其他一些日期/文件路径变量到导入文件中。一旦将用户和域分配给变量,就可以将它们打印到具有一些其他数据的文件中以创建和导入列表/脚本。然后使用导入文件在新邮件服务器上创建帐户列表,而不是逐个浏览所有128k帐户。 所以。我如何一次一个地读取文件的每一行(128,000个条目),将每个用户名放入变量,然后将相应的域放入数组/元组/列表/字典?然后添加日期和一些其他文件路径的东西,用两个变量的电子邮件地址建立一个帐户名称,并将输出附加到一个新文件,但是在循环到下一行并重复之前按行执行?

按照

的方式做的事情

制作输出文件
读取文件行1并将用户和域放入变量
print user print print(otherstuff)print user @ domain

将每个输出循环附加到相同的新文件(非原始文件)
循环到下一行文件并重复
继续EOF(128k行以后)
制作一个大文件来导入每个邮件帐户和详细信息 (可能将输出文件拆分为较小的块,以便导入每页稳定100个条目?)

到目前为止,我有<

#!/usr/bin/python
import time;

input = open('/home/adam/Downloads/mailaccounts.txt', 'r')
fileoutput = open('/tmp/domaintest.txt', 'a' 'w')
sql1 = "INSERT INTO mailbox (username, password, name, storagebasedirectory, maildir, quota, domain, active)"
password = "88888888"
storage_base_directory = '/var/vmail/vmail1'
localtime = time.localtime(time.time())
localtime = localtime[0], ".", localtime[1], ".", localtime[2], ".", localtime[3], ".", localtime[4], ".", localtime[5]
localtime = ''.join(map(str, localtime))
for line in input:
    email = line
    user = line.split("@")[0]
    domain = line.split("@")[1]
    fileoutput.write(domain)

现在out文件有字符

^@d^@o^@m^@a^@i^@n^@1^@.^@c^@o.^@u^@k^@^M^@

在从命令行进行测试时不会出现print命令

domain1.co.uk

任何想法?

1 个答案:

答案 0 :(得分:0)

尝试更换&#39; a&#39; &#39; W&#39;选项&#39; a +&#39;如下

fileoutput = open('/tmp/domaintest.txt', 'a+')

在此之后你的脚本运行正常并且

domain1.co.uk 
domain2.com 
domain4.com 
domain4.com 

作为输出文件中的输出