在python-2.7中有更好的方法覆盖文件吗?
我想覆盖一个文件以更改某一行。我提出的唯一代码如下:在python-2.7中有更好的方法覆盖文件吗?,python,python-2.7,file,Python,Python 2.7,File,我想覆盖一个文件以更改某一行。我提出的唯一代码如下: import os def update(fil, argument, line): z = fil.name k = fil.readlines() k[line] = argument m = file.open("test.txt") for e in k: m.write(str(e)) os.remove(fil) m.name = z 函数如下:我有三个参
import os
def update(fil, argument, line):
z = fil.name
k = fil.readlines()
k[line] = argument
m = file.open("test.txt")
for e in k:
m.write(str(e))
os.remove(fil)
m.name = z
函数如下:我有三个参数:
- 我要覆盖的文件
- 我想写的论点
- 这是争论的重点李>
我已经很久没有用Python编程了,所以非常欢迎所有的帮助 不清楚你想做什么。您是要覆盖一个文件,还是只替换文件中的一行?我正在尝试替换一行,但无法覆盖整个文件。我对此感到很沮丧。嗯,你可以把它映射到内存中。但重写文件以更改行是常见的做法。“问题”是,文件无论如何都不是基于行的,因此,要仅更改一行,新行的长度必须完全相同,才能正常工作。请注意:在内存中加载文件是没有用的。它不会加快任何速度,只会浪费内存。@Prof.Falken:OP的代码通过调用
fil.readlines()
将整个文件加载到内存中。