Python根据索引号读取文件和写入行

Python根据索引号读取文件和写入行,python,python-2.7,Python,Python 2.7,我在.txt中有这个文件,它大概有100行。我要做的是读取文件,然后写入另一个文件,根据它们的索引行。例如: 1 10: library=digital library collection=digital library>en 2 10: information=digital library retrieval=digital library system=digital library>en 3 10: term=digital library digital=digital

我在.txt中有这个文件,它大概有100行。我要做的是读取文件,然后写入另一个文件,根据它们的索引行。例如:

1 10: library=digital library collection=digital library>en
2 10: information=digital library retrieval=digital library system=digital library>en
3 10: term=digital library digital=digital library>en
4 10: user=digital library experience=digital library>en
5 10: software=digital library developer=digit
我只需要将第2行和第5行写入新文件out.txt

假设我有一个名为clean2的函数,然后我只想在新文件out.txt中写入第2行和第5行


请注意,第2行有索引1,第5行有索引4

for i,line in enumerate(input):
    line = clean2(line)
    if i in (1, 4):
        outfile.write(line)

你可以试试下面的

input = open('/path/to/file/in.txt', 'r')
outfile = open('/path/to/file/out.txt', 'w')
for i,line in enumerate(input):
    if i == 1 or i == 4:
        outfile.write(line)
outfile.close()
input.close()

你所说的clean2是什么意思?你能从你提供的输入中添加你期望的输出吗?因为它不清楚你期望的是什么?clean2是与这个问题无关的另一个函数。输出应该是只包含第2行和第5行的文本文件。就这么简单。不过,该解决方案需要推广,并易于应用于其他线路
input = open('/path/to/file/in.txt', 'r')
outfile = open('/path/to/file/out.txt', 'w')
for i,line in enumerate(input):
    if i == 1 or i == 4:
        outfile.write(line)
outfile.close()
input.close()