在python中为现有文件添加行

时间:2015-06-17 18:48:12

标签: python file python-2.7 io

我想在python中为现有文件添加行。我写了以下两个文件

print_lines.py

while True:
    curr_file = open('myfile',r)
    lines = curr_file.readlines()
    for line in lines:
        print lines

add_lines.py

curr_file = open('myfile',w)
curr_file.write('hello world')
curr_file.close()

但是,当我先运行print_lines.py然后add_lines.py时,我没有获得我添加的新行。我该如何解决?

2 个答案:

答案 0 :(得分:1)

问题在于代码 -

curr_file = open('myfile',w)
curr_file.write('hello world')
curr_file.close()

第二个参数应该是一个字符串,表示应该打开文件的模式,你应该使用a表示append

curr_file = open('myfile','a')
curr_file.write('hello world')
curr_file.close()

w模式表示write,它会使用新内容覆盖现有文件,但不会附加到文件末尾。

答案 1 :(得分:1)

在print_lines.py上:

1 - 你永远循环,while True,你需要添加一个中断条件来退出while循环或者删除while循环,因为你有for循环。

2 - curr_file = open('myfile',r)的参数2必须是字符串:curr_file = open('myfile','r')

3 - 最后关闭文件:curr_file.close()

现在在add_lines中:

1 - 如果要添加行,请打开文件以附加不写入文件:curr_file = open('myfile','a')

2 - 与上一个文件相同,myfile = open('myfile',w)的参数2必须是字符串:curr_file = open('myfile','a')