使用python编辑文件



我正在尝试使用python查找编辑文件。我需要在特定行之后添加内容。以下是我的代码:

with open('test1.spd', 'r+') as f:
file = f.readlines()
for line in file:
if '.DisplayUnit = du' in line:
pos = line.index('.DisplayUnit = du')
file.insert(pos + 1, '.DisplayUnit = nl')
f.seek(0)
f.writelines(file)
f.close()

该文件大约有150K多行。上面的代码需要很长时间才能编辑。有什么帮助可以提高性能吗?我对蟒蛇很陌生。

通过将插入到要循环的列表中,导致了一个无限循环。

相反,将行添加到新列表中。

with open('test1.spd', 'r+') as f:
newfile = []
for line in f:
newfile.append(line)
if '.DisplayUnit = du' in line:
newfile.append('.DisplayUnit = nln')
f.seek(0)
f.writelines(newfile)
f.truncate()

请注意,您需要在行的末尾包含nf.writelines()本身不会添加它们。

由于在这个版本中没有插入到行列表中,因此不需要使用readlines(),只需迭代文件即可一次读取一行。

最新更新