python将每个列表保存到一些输出文件

时间:2015-04-27 03:36:12

标签: python file-io

我已经有了这段代码

#!usr.bin/env python
with open('honeyd.txt', 'r') as infile, open ('test.rule', 'w') as outfile:
     for line in infile:
         outfile.write('alert {} {} -> {} {}\n'.format(*line.split()))

此代码用于拆分所有行并将其保存到文件

我的目标是拆分所有行并将其保存到一些文件中,就像我在honeyd.txt中的行一样多。一行输出文件。如果我有3行,那么每行都保存在输出文件中。所以我有3个输出文件。如果我有10行,那么每行都保存在输出文件中。所以我有10个输出文件。

任何人都可以帮忙吗?

2 个答案:

答案 0 :(得分:0)

假设您对文件名的顺序编号没问题:

with open('honeyd.txt', 'r') as infile:
    for index, line in enumerate(infile, 1):
        with open('test.rule{}'.format(index), 'w') as outfile:
             outfile.write('alert {} {} -> {} {}\n'.format(*line.split()))

这将创建名为test.rule1test.rule2等的文件

答案 1 :(得分:0)

试试这个:

with open('honeyd.txt') as f:
    lines = [line.strip().split() for line in f] # a list of lists
    for i in range(len(lines)):
        with open('test_{}.rule'.format(i), 'w') as f2:
            f2.write("alert {} {} -> {} {}\n".format(*lines[i]))