我正在尝试编写一个代码来重写.txt文件中的特定行。 我可以把我想写的那一行写下来,但我不能删除这行之前的文字。在
这是我的代码:
(我正在尝试一些事情)
def writeline(file,n_line, text):
f=open(file,'r+')
count=0
for line in f:
count=count+1
if count==n_line :
f.write(line.replace(str(line),text))
#f.write('\r'+text)
您可以使用此代码来生成测试文件:
^{pr2}$编辑:由于某些原因,如果我使用“if count==5:”代码编译正常(即使它没有删除前面的文本),但是如果我使用“if count==n_line:”,文件最终会产生大量垃圾。在
答案是可行的,但是我想知道我的代码有什么问题,以及为什么我不能读写。谢谢!在
使用临时文件:
您正在从文件中读取并写入。别那样做。相反,您应该先写入一个^{} ,然后在写完并关闭原始文件后^{} 。在
或者,如果保证文件的大小很小,可以使用
readlines()
读取所有文件,然后关闭文件,修改所需的行,然后将其写回:相关问题 更多 >
编程相关推荐