3

我正在尝试完成看似简单的任务,但我似乎无法弄清楚。我是 Python 菜鸟。

这是我的任务:
我有一个包含数字列表的文本文件,每个数字都在单独的行中......

100101
100201
100301
100401
100501
100601
100701
100801
100901
101001

我想做的是从文本文件中读取并为包含该行的文件中的每一行编写一个新的文本文件,并且也使用该行命名...

100101.txt
contains one line of text "100101"

100201.txt
contains one line of text "100201"

etc...

希望这是有道理的......谢谢!

海纳森

4

3 回答 3

5

试试这个:

with open('data.txt') as inf:
    for line in inf:
        num = line.strip()
        if num:
            fn = '%s.txt' %num
            with open(fn, 'w') as outf:
                outf.write('contains one line of text "%s"\n' %num)

使用该with构造确保每个文件在不再需要时关闭(或者如果应该发生异常)

于 2012-07-27T19:21:36.350 回答
3

编辑:用于with使执行更安全。

lines = open(your_file, 'r')
for line in lines.readlines():
    with open(str(line).rstrip()+'.txt','w') as output_file
        output_file.write(line)
lines.close()
于 2012-07-27T19:11:13.753 回答
2

请注意,以下内容不会检查具有相同名称的预先存在的文件。

with open('numbers_file.txt','r') as numbers:
    for line in numbers:
        with open(line.rstrip() + '.txt','w') as new_file:
            new_file.write(line)
于 2012-07-27T19:08:35.637 回答