【发布时间】:2012-09-04 16:45:27
【问题描述】:
Python...
我有一个电子邮件地址文件,我需要创建一个脚本来将所有这些地址作为帐户导入,因此需要进行一些文本操作,我需要学习更多 Python。
文件格式为
user1@domain1.co.uk
user1@domain2.com
user2@domain4.com
user3@domain4.com
这基本上是一个用户名和一个域名,我需要创建一个帐户名(与用户相同)和域,以及电子邮件地址,以及一些其他日期/文件路径变量到导入文件中。一旦将用户和域分配给变量,就可以将它们打印到包含其他数据的文件中,以创建和导入列表/脚本。然后使用导入文件在一个新的邮件服务器上创建一个帐户列表,而不用一一遍历所有 128k。 所以。我如何一次读取文件的每一行(128,000 个条目),将每个用户名放入一个变量,然后将相应的域放入一个数组/元组/列表/字典?然后添加日期和其他一些文件路径的东西,用两个变量的电子邮件地址构建一个帐户名,并将输出附加到一个新文件,但在循环到下一行并重复之前每行执行此操作??
类似
制作输出文件
读取文件第 1 行并将用户和域放入变量
print user print domain 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)
现在输出文件有字符了
^@d^@o^@m^@a^@i^@n^@1^@.^@c^@o.^@u^@k^@^M^@
从命令行测试时打印命令不会出现
domain1.co.uk
有人有什么想法吗?
【问题讨论】:
-
这是一个匹配您的多行文本文件的正则表达式。 gist.github.com/3624220玩得开心。
标签: python-2.7