How to erase the file contents of text file in Python?
I have text file which I want to erase in Python. How do I do that?
Solution 1:
In python:
open('file.txt', 'w').close()
Or alternatively, if you have already an opened file:
f = open('file.txt', 'r+')
f.truncate(0) # need '0' when using r+
Solution 2:
Not a complete answer more of an extension to ondra's answer
When using truncate()
( my preferred method ) make sure your cursor is at the required position.
When a new file is opened for reading - open('FILE_NAME','r')
it's cursor is at 0 by default.
But if you have parsed the file within your code, make sure to point at the beginning of the file again i.e truncate(0)
By default truncate()
truncates the contents of a file starting from the current cusror position.
A simple example
Solution 3:
Opening a file in "write" mode clears it, you don't specifically have to write to it:
open("filename", "w").close()
(you should close it as the timing of when the file gets closed automatically may be implementation specific)
Solution 4:
As @jamylak suggested, a good alternative that includes the benefits of context managers is:
with open('filename.txt', 'w'):
pass