Очистка файла
Иногда возникают ситуации, когда надо произвести запись в файл, в котором уже находятся данные. Или просто удалить все содержимое. Рассмотрим, как выполнить очистку этого файла средствами Python 3.
Способы
Очистить файл в Python 3 можно следующими способами:
- При открытии использовать режим, в котором указатель находится в начале документа.
- Вручную переместить указатель в начальную позицию.
- Средствами операционной системы обнулить содержимое файла.
Рассмотрим эти варианты подробно.
При открытии
Когда файл открывается на запись, то указатель текущего положения в документе может быть расположен в начале или в конце документа. Если указатель в конце, то данные будут дописываться. Нас же интересует вариант, когда указатель расположен в начале.
f = open('test.txt', 'w') f.close()
Здесь w – указывает режим открытия файла на запись в текстовом режиме с размещением указателя в начале. После выполнения этого кода, если существовал указанный файл, то содержимое его очистится. Если его не было, то создастся новый пустой.
Перед закрытием, можно было добавить информацию. Она будет записана с начала файла, а не дописана в конец.
f = open('test.txt', 'w') f.write('something') f.close()
Если надо записывать данные в бинарный файл, то следует использовать режим “wb”.
Если же наоборот, нам нужно добавить информацию в конец файла. При этом старые данные чтобы остались. В этом случае к режиму следует добавить символ +. Режим открытия текстового документа будет “w+”, а бинарного “wb+”.
Дополнительную информацию по режимам открытия можно получить в отдельной статье на нашем сайте.
Перемещение указателя
Если мы открыли файл на запись и не знаем, в каком месте находится указатель. Возможно, мы уже записали какие то данные. Мы можем просто переместить указатель в начало и закрыть его. В этом случае документ будет пустым.
f = open('test.txt', 'w+') f.seek(0) f.close()
В этом примере открытие сделали специально в режиме дозаписи. После закрытия, даже если в файле были данные, они удалятся.
Вот еще пример, здесь мы записываем данные, потом переносим указатель в начало. После этого еще раз производим запись. В итоге, в конце работы, в файле будет только последняя сделанная запись. Те данные, которые были внесены вначале, благополучно удалятся.
f = open('test.txt', 'w+') f.write('something string') f.seek(0) f.write('new string') f.close()
Средствами ОС
Для очистки с помощью средств операционной системы воспользуемся стандартной библиотекой os. Вначале её надо подключить с помощью инструкции import os.
На linux должно пройти следующим образом.
import os os.system(r' >file.txt')
Можно воспользоваться командами cp или cat. Вот пример решения с помощью cat.
os.system(r'cat /dev/null>file.txt')
Если код исполняется на Windows, то решение может быть таким:
os.system(r'nul>file.txt')
Удалить содержимое файла (Truncate File) в Python
В этом посте мы обсудим, как удалить содержимое файла в Python. По порядку слов, обрезать файл до 0 байт.
1. Использование ‘w’ Режим
Самое простое решение — открыть файл в w режим, который открывает его для записи. Файл создается, если он не существует; в противном случае он усекается. Вот как будет выглядеть код:
path = ‘some/dir/file.txt’
open ( path , ‘w’ ) . close ( )
except IOError :
print ( ‘Failure’ )
Приведенный выше код явно закрывает обработчик файла с close() функция. Этого можно избежать с помощью with оператор, который автоматически закрывает обработчик файла по завершении работы с ним. Вот пример использования with утверждение:
path = ‘some/dir/file.txt’
with open ( path , ‘w’ ) :
except IOError :
print ( ‘Failure’ )
2. Использование truncate() функция
Кроме того, вы можете открыть файл для обновления (чтения и записи), не усекая его. Это можно сделать с помощью r+ режим, который не удаляет содержимое и не создает новый файл, если он не существует. Затем, чтобы обрезать файл до 0 байт, используйте truncate() функция.
path = ‘some/dir/file.txt’
with open ( path , ‘r+’ ) as f :
f . truncate ( )
except IOError :
print ( ‘Failure’ )
Это все об удалении содержимого файла в Python.
Оценить этот пост
Средний рейтинг 5 /5. Подсчет голосов: 23
Голосов пока нет! Будьте первым, кто оценит этот пост.
Сожалеем, что этот пост не оказался для вас полезным!
Расскажите, как мы можем улучшить этот пост?
Спасибо за чтение.
Пожалуйста, используйте наш онлайн-компилятор размещать код в комментариях, используя C, C++, Java, Python, JavaScript, C#, PHP и многие другие популярные языки программирования.
Как мы? Порекомендуйте нас своим друзьям и помогите нам расти. Удачного кодирования 🙂
Подписывайся
0 Комментарии
Встроенные отзывы
Просмотреть все комментарии
Загрузить больше комментариев
Просматривать
Подпишитесь на новые публикации
- Все проблемы
- Практика DSA
- 100 самых популярных задач
- 50 лучших классических задач
- Лучшие алгоритмы
- Компилятор С/С++
- Компилятор Java
- Компилятор Python
- Компилятор JavaScript
- компилятор PHP
- Компилятор C#
- Свяжитесь с нами
- Политика конфиденциальности
- условия обслуживания
- Подпишитесь на новые публикации
Techie Delight © 2023 Все права защищены.
Этот веб-сайт использует файлы cookie. Используя этот сайт, вы соглашаетесь с использованием файлов cookie, нашей политикой, условиями авторского права и другими условиями. Читайте наши Политика конфиденциальности. Понятно
Очистка файла
Очистка файла
Всем привет! Такая задача: из запроса POST получить имя файла и очистить его (не удалить).
Очистка файла
Работаю с помощью BufferedWriter: fileWriter = new PrintWriter(new BufferedWriter(new.
Очистка файла
Здравствуйте! Я читаю и файла таким образом: while (scn.hasNext())
Очистка файла
Доброго времени сутко! Подскажите пожалуйста, как очистить файл средствами node.js? Или удалить.
Очистка файла
Почему файл не очищается перед записью? FileWriter fw=null; try< fw=new.
4459 / 3212 / 1125
Регистрация: 21.03.2016
Сообщений: 7,949
тупо удалить и создать новый
1354 / 651 / 207
Регистрация: 23.03.2014
Сообщений: 3,057

Сообщение было отмечено Hyppoprogramm как решение
Решение
1 2 3 4 5 6 7 8 9 10 11 12
def zapis(my_filename, fext2): with open(my_filename + '.' + fext2, 'w', encoding='utf-8') as fp: print('проба', file=fp, sep="\n") fp = open('проба.txt', 'w') fp.truncate() fp.close() if __name__ == '__main__': my_filename = None fex2 = None zapis(my_filename='проба', fext2='txt')
Просто Лис
![]()
5321 / 3335 / 1021
Регистрация: 17.05.2012
Сообщений: 9,768
Записей в блоге: 9
Записать в него пустую строку ‘\n’
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь
Очистка файла
Как можно удалить все содержимое файла site.ru/1.txt ? *уже нашел file_put_contents("имя.
Очистка текстового файла
Мне стдыно, что я не умею работать с файлами, но. У меня пароли хранятся в текстовом файле в.
Очистка файла с позиции
Подскажите, есть ли какая ни будь функция у fstream, что бы удалить содержимое файла начиная с.
Очистка текстового файла
Возможно ли сначала считать данные из текстового файла, потом очистить, а потом записать в него.

Очистка FPT файла
Есть таблица с МЕМО полями, по мере занесения в них данных растёт размер FPT файла. При достижении.
Очистка файла xml
Как очистить файл xm просто удалить из него все строки) не удаляя сам файл
Удаление содержимого файла
Есть ли у файла метод удаления содержимого файла? Мне нужно не просто удалить файл, а именно удалить все содержимое файла, при этом, получается, должен остаться просто пустой файл. Пробовал через перезапись с пустой строкой но выдает ошибку
with open("text_here", "w") as f: f.write(")
io.UnsupportedOperation: not writable
Отслеживать
задан 11 дек 2017 в 8:54
191 2 2 серебряных знака 14 14 бронзовых знаков
Достаточно просто открыть файл на запись. open(«text_here», «w») .
11 дек 2017 в 8:57
а файл разрешен для записи? Если у вас права только на чтение то это уже проблематичнее.
11 дек 2017 в 9:00
В этом примере у вас кавычка не закрыта. В реальном коде так же?
11 дек 2017 в 9:54
1 ответ 1
Сортировка: Сброс на вариант по умолчанию
io.UnsupportedOperation: not writable
говорит о том, что вы пытаетесь осуществить запись в дескриптор, который не предназначен для этого. Например, если открыли файл только на чтение (mode=’r’)
Как подсказывают в комментариях, достаточно просто открыть файл на запись:
with open('file.name', 'wb'): pass
Отслеживать
ответ дан 11 дек 2017 в 10:03
1,582 7 7 серебряных знаков 10 10 бронзовых знаков
- python
- файлы
-
Важное на Мете
Похожие
Подписаться на ленту
Лента вопроса
Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.
Дизайн сайта / логотип © 2023 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2023.11.15.1019
Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.
