你能用python中的enumerate在文件中重写一行代码吗?

时间:2015-11-20 16:45:59

标签: python file-io

我有一个我需要写的大文件,所以我不想完全打开它在我的记忆中,所以我试图用枚举重写它。我可以找到我需要的代码行并打印出来,但是我在重写代码时遇到了麻烦。

打印我想要的代码行的代码:

with open('test2.py', 'r') as f:
    for i, line in enumerate(f):
        if i == 4:
            print line

重新编写对我有意义但不正确的行的代码:

with open('test2.py', 'r+') as f:
    it = '2'
    for i, line in enumerate(f):
        if i == 4:
            if line != it:
                f.write(line)

我没有错误

1 个答案:

答案 0 :(得分:1)

这就是我得到的,你离我很远。不要使用Fileinput来解决这个问题,这只是用于处理多个文件;而Bens代码无论如何都是错误的。

with open('test2.py', 'r+') as f:
    for i, line in enumerate(f):
        if i == 4:
            line = '2'
            f.write(line)
            print line