在Python 2.7中,我正在使用..
为文件写一行f.write('This is a test')
如何删除此行?文本文件中只有一行,所以可以/应该删除文件并创建一个新文件吗?
或者有没有办法删除我添加的行?
答案 0 :(得分:1)
您可以删除该文件并创建一个新文件或截断现有文件
# the original file
with open("test.txt", "w") as f:
f.write("thing one")
# delete and create a new file - probably the most common solution
with open("test.txt", "w") as f:
f.write("thing two")
# truncate an existing file - useful for instance if a bit
# of code as the file object but not file name
f.seek(0)
f.truncate()
f.write("thing three")
# keep a backup - useful if others have the old file open
os.rename("test.txt", "test.txt.bak")
with open("test.txt", "w") as f:
f.write("thing four")
# making live only after changes work - useful if your updates
# could fail
with open("test.txt.tmp", "w") as f:
f.write("thing five")
os.rename('test.txt.tmp', 'test.txt')
哪个更好?它们都是......取决于其他设计目标。
答案 1 :(得分:0)
在Python中,您无法从文件中删除文本。相反,您可以写入文件。
write函数有效地删除文件中的任何内容,并使用您作为参数传递的字符串保存文件。
实施例
open_file=open("some file","w")
open_file.write("The line to write")
现在文件中有“要写的行”作为内容。
修改强>
写入功能更准确地从光标所在位置写入。在w模式下打开时,光标位于文件的前面,并写入文件中的所有内容。
感谢bli指出这一点。
答案 2 :(得分:0)
最佳做法是,在打开文件时始终使用with
,以确保即使您未拨打close()
with open('your_file', 'w') as f:
f.write('new content')