2024-04-19 19:23:09 发布
网友
我有一个文件,我需要在一个特定的行写一些内容。我知道哪些行,我想覆盖该行的内容。你知道吗
例如,我有一个100行的文本文件,我想专门写到第70行。我知道我可以逐行阅读并保留一个计数器,当我到达第70行时,我可以写下我需要的行。我还可以读取文件的全部内容,将其拆分为一个列表,覆盖所需的位置并写回。你知道吗
不过,我想找一些更简单的东西,比如:
somelibrary.writeline(file, 70, "Blah blah")
在Python中有这样的东西吗?你知道吗
在特殊情况下,你的线总是一样的长度,你可以使用
with open('myfile.txt', 'rb+') as f: f.seek(FIXED_LINE_LENGTH * line_number) f.write(new_line)
除非新行与旧行一样长,否则最好的选择是重写文件。你知道吗
最简单的方法是使用^{} module:
import sys, fileinput for count, line in enumerate(fileinput.input(filename, inplace=True)): if count == 69: # Python counts from 0 line = newvalue sys.stdout.write(line)
这将创建文件的备份,并输出到替换旧文件的新文件。写入sys.stdout写入的文件多于新文件(另一种方法是使用print,但line仍包含换行符)。你知道吗
sys.stdout
print
line
在特殊情况下,你的线总是一样的长度,你可以使用
除非新行与旧行一样长,否则最好的选择是重写文件。你知道吗
最简单的方法是使用^{} module :
这将创建文件的备份,并输出到替换旧文件的新文件。写入
sys.stdout
写入的文件多于新文件(另一种方法是使用print
,但line
仍包含换行符)。你知道吗相关问题 更多 >
编程相关推荐