python从文件读取写入其他文件

时间:2017-02-26 16:11:27

标签: python

file1 = open('/path/to/file1.txt', "r")
file2 = open('/path/to/file2.txt', "wa")
counter = 1

for line in file1:
    new_string = str(counter) + '\t' + line
    file2.write(new_string)
    counter += 1

我正在尝试在文件中的每一行的开头添加一个数字,并将该行逐行追加到新文件中。原始文件中有1189行文本,尽管尝试了多次,但我在新文件中只获得了1168行。这是怎么回事?

我添加了一个print语句(print str(counter)+“”+ line),原始文件中的所有行都打印出来,旁边有预期的数字。循环运行后,计数器变量为1190。

编辑: 在循环工作之后插入file2.close(),现在所有1189行都在第二个文件中,但为什么呢?

2 个答案:

答案 0 :(得分:1)

您是否关闭了您要写入的文件,即在循环后执行file2.close()

答案 1 :(得分:1)

您的file1file2指向您提供的代码示例中的同一文件。