Как удалить содержимое файла текстового файла в Python?

У меня есть текстовый файл, который я хочу удалить в Python. Как мне это сделать?

9 Solutions collect form web for “Как удалить содержимое файла текстового файла в Python?”

В python:

open('file.txt', 'w').close() 

Или, альтернативно, если у вас уже открыт файл:

 f = open('file.txt', 'r+') f.truncate() 

В C ++ вы можете использовать что-то подобное.

Не полный ответ больше о расширении ответа ondra

При использовании truncate() (мой предпочтительный метод) убедитесь, что ваш курсор находится в нужном месте. Когда новый файл открывается для чтения – open('FILE_NAME','r') он по умолчанию равен 0. Но если вы проанализировали файл в своем коде, обязательно указывайте в начале файла, т. Е. Truncate truncate(0) По умолчанию truncate() обрезает содержимое файла, начиная с текущей позиции cusror.

Простой пример

 open("filename","w").close() 

Вы должны перезаписать файл. В C ++:

 #include <fstream> std::ofstream("test.txt", std::ios::out).close(); 

Назначение указателя файла на нуль внутри вашей программы просто избавит вас от этой ссылки на файл. Файл все еще там. Я думаю, что функция remove() в c stdio.h – это то, что вы ищете там. Не уверен в Python.

От пользователя @jamylak – альтернативная форма open("filename","w").close()

 with open('filename.txt','w'): pass 

Вы не можете «стереть» из файла на месте, если вам не нужно стирать конец. Либо будь доволен переписыванием «пустого» значения, либо прочитайте части интересующего вас файла и напишите его в другой файл.

Поскольку текстовые файлы являются последовательными, вы не можете напрямую стереть данные с них. Ваши варианты:

  • Самый распространенный способ – создать новый файл. Прочтите исходный файл и напишите все в новом файле, за исключением части, которую вы хотите удалить. Когда весь файл был записан, удалите старый файл и переименуйте новый файл, чтобы он имел первоначальное имя.
  • Вы также можете обрезать и переписать весь файл с той точки, которую хотите изменить. Попробуйте указать, что вы хотите изменить, и прочитайте остальную часть файла в памяти. Вернитесь к той же точке, обрезайте файл и запишите содержимое без части, которую хотите удалить.
  • Другой простой вариант – перезаписать данные другими данными одинаковой длины. Для этого ищите точную позицию и записывайте новые данные. Ограничение в том, что оно должно иметь одинаковую длину.

Посмотрите на функцию seek / truncate / метод для реализации любой из вышеперечисленных идей. Оба Python и C имеют эти функции.

При использовании with open("myfile.txt", "r+") as my_file: я получаю странные нули в файле myfile.txt , тем более, что сначала читаю файл. Чтобы он работал, мне пришлось сначала изменить указатель my_file на начало файла с помощью my_file.seek(0) . Тогда я мог бы сделать my_file.truncate() чтобы очистить файл.

  • Как вернуть ключ RSA в конечной точке jwks_uri для OpenID Connect Discovery
  • Аннотирование типа docstring Python - класс, а не экземпляр?
  • Заменяет ли перезагрузка модуль именами в ранее импортированном / перезагруженном модуле?
  • Как правильно вызвать методы базового класса (и конструктор) из унаследованных классов в Python?
  • от месяца до месяца и наоборот в python
  • Заменить несколько пробелов с одиночным пробелом в Python
  • Каков наилучший способ совместного использования значения всеми генераторами, созданными функцией?
  • Собственный бесконечный диапазон?
  • Временная серия Keras LSTM
  • Python: subprocess.Popen и subprocess.call зависают
  • AppEngine: хранилище данных запроса для записей с <отсутствующим> значением
  • Python - лучший язык программирования в мире.