【发布时间】:2017-11-09 03:00:50
【问题描述】:
在 Python 2.6 中是否有一种更有效的方法来逐行搜索文件(查找字符串)并在找到它之后将一些行插入到该文件中?所以输出文件将与输入文件相同,在其间添加几行。另外,我宁愿不将这些文件读入缓冲区,因为这些文件可能非常大。
现在,我正在逐行读取文件并将其写入临时文件,直到找到要查找的行,然后在临时文件中插入额外的数据。并将其余数据写入临时文件。处理完文件后,用新的临时文件覆盖旧文件。 像这样的:
with open(file_in_read, 'r') as inFile:
if os.path.exists(file_in_write):
os.remove(file_in_write)
with open(file_in_write, 'a') as outFile:
for line in inFile:
if re.search((r'<search_string',line):
write_some_data(outFile)
outFile.write(line)
else:
outFile.write(line)
os.rename(src,dst)
我只是想知道我是否可以加快速度。
【问题讨论】: