Запись данных в файл
21 августа 2013 г.
Archy
Python для начинающих » Общие вопросы
7

Как осуществить чтение из файла мы обсудили в прошлой статье. В данной статье мы обсудим способы записи данных в файл. Чтобы не было ошибки из за доступа, убедитесь, что в папке где вы хотите выполнить изменения или сам файл имеют права 777.
Чтобы не соскучится, мы покажем несколько способов внесения данных в файл и наглядно увидим результат. Чтобы открыть файл для записи или же создать его, мы воспользуемся функцией open(filename, mod) и в качестве второго параметрам mod укажем значение w т.е. (write) запись. Если файл с указанным названием filename не существует — он будет создан.
Создаем новый файл в Python
# -*- coding: utf-8 -*- my_file = open('snake.txt', 'w') # Закрываем файл my_file.close()
После выполнения данного скрипта, по указанному нами пути будет создан новый файл snake.txt если файл не был создан то нужно проверить права доступа на папку. Стоит учесть, что если файл snake.txt существовал ранее, то после открытия его функцией open() и мод W, тогда содержимое файла удаляется. Если вы хотите добавить что-то в конце, то следует использовать мод ‘a+’.
Запись данных в файл Python
Предположим, что мы создали новый файл и хотим в него внести некий текст, для этого воспользуемся методом write().
# -*- coding: utf-8 -*- my_file = open('snake.txt', 'w') text_for_file = 'Some text here. ' my_file.write(text_for_file) my_file.close()
Файлы. Работа с файлами.

В данной статье мы рассмотрим встроенные средства python для работы с файлами: открытие / закрытие, чтение и запись.
Итак, начнем. Прежде, чем работать с файлом, его надо открыть. С этим замечательно справится встроенная функция open:
У функции open много параметров, они указаны в статье "Встроенные функции", нам пока важны 3 аргумента: первый, это имя файла. Путь к файлу может быть относительным или абсолютным. Второй аргумент, это режим, в котором мы будем открывать файл.
| Режим | Обозначение |
| ‘r’ | открытие на чтение (является значением по умолчанию). |
| ‘w’ | открытие на запись, содержимое файла удаляется, если файла не существует, создается новый. |
| ‘x’ | открытие на запись, если файла не существует, иначе исключение. |
| ‘a’ | открытие на дозапись, информация добавляется в конец файла. |
| ‘b’ | открытие в двоичном режиме. |
| ‘t’ | открытие в текстовом режиме (является значением по умолчанию). |
| ‘+’ | открытие на чтение и запись |
Режимы могут быть объединены, то есть, к примеру, ‘rb’ — чтение в двоичном режиме. По умолчанию режим равен ‘rt’.
И последний аргумент, encoding, нужен только в текстовом режиме чтения файла. Этот аргумент задает кодировку.
Чтение из файла
Открыли мы файл, а теперь мы хотим прочитать из него информацию. Для этого есть несколько способов, но большого интереса заслуживают лишь два из них.
Первый — метод read, читающий весь файл целиком, если был вызван без аргументов, и n символов, если был вызван с аргументом (целым числом n).
Ещё один способ сделать это — прочитать файл построчно, воспользовавшись циклом for:
Запись в файл
Теперь рассмотрим запись в файл. Попробуем записать в файл вот такой вот список:
Откроем файл на запись:
Запись в файл осуществляется с помощью метода write:
После окончания работы с файлом его обязательно нужно закрыть с помощью метода close:
Теперь попробуем воссоздать этот список из получившегося файла. Откроем файл на чтение (надеюсь, вы поняли, как это сделать?), и прочитаем строки.
Мы получили тот же список, что и был. В более сложных случаях (словарях, вложенных кортежей и т. д.) алгоритм записи придумать сложнее. Но это и не нужно. В python уже давно придумали средства, такие как pickle или json, позволяющие сохранять в файле сложные структуры.
Для вставки кода на Python в комментарий заключайте его в теги
- Модуль csv - чтение и запись CSV файлов
- Создаём сайт на Django, используя хорошие практики. Часть 1: создаём проект
- Онлайн-обучение Python: сравнение популярных программ
- Книги о Python
- GUI (графический интерфейс пользователя)
- Курсы Python
- Модули
- Новости мира Python
- NumPy
- Обработка данных
- Основы программирования
- Примеры программ
- Типы данных в Python
- Видео
- Python для Web
- Работа для Python-программистов
- Сделай свой вклад в развитие сайта!
- Самоучитель Python
- Карта сайта
- Отзывы на книги по Python
- Реклама на сайте
Как изменить тип документа TXT на PY?
Вы используете устаревший браузер. Этот и другие сайты могут отображаться в нем неправильно.
Необходимо обновить браузер или попробовать использовать другой.
Диля
Новичок
Пользователь
Май 18, 2022 1 0 1
Хочу изменить TXT на РУ, но когда создаю текстовый документ, у меня рядом не отображается "имя файла.txt", как в видео через которое я учусь. А просто "имя файла". Как мне изменить тип файла другим путем?
Ципихович Эндрю
Активный пользователь
Пользователь
Мар 27, 2021 490 25 28
когда создаю текстовый документ
как это делаете? и нет такого понятия создаю-не рафаэль однако, есть понятие открываю, если он не существует он будет создан
для вас это тоже самое, что и создаю
Vershitel_sudeb
Vershitel sudeb
Команда форума
Модератор
Мар 17, 2021 869 188 43 Москва github.com
как это делаете? и нет такого понятия создаю-не рафаэль однако, есть понятие открываю, если он не существует он будет создан
для вас это тоже самое, что и создаю
Ты не понял, он просто файл создаёт чтобы код в нем писать, а не функцией open
Ципихович Эндрю
Активный пользователь
Пользователь
Мар 27, 2021 490 25 28
Как мне изменить тип файла другим путем?
тогда видимо вручную, после того, когда он будет создан
regnor
Модератор
Команда форума
Модератор
Июл 7, 2020 2 531 444 83
Хочу изменить TXT на РУ, но когда создаю текстовый документ, у меня рядом не отображается "имя файла.txt", как в видео через которое я учусь. А просто "имя файла". Как мне изменить тип файла другим путем?
Как изменить расширение файла на python?

Вы понимаете, что расширение файла должно отражать содержание файла? Вам надо перекодировать файл формата jpg в формат png. А просто переименовать - ничего хорошего не даст.

Алан Гибизов, А вдруг ТС хочет просто запутать врагов? 🙂 Тогда очень даже нормально - изменить расширение файла, и пусть потом, когда твой комп окажется в их злобных руках, помучаются, поугадывают, какой программой работать с каким файлом. Главное - самому не запутаться, что во что переименовал.
Решения вопроса 1
Расширение - это просто часть имени файла, оно не влияет на его содержимое.
Просто сменив расширение файла на .png вы не измените формат изображения.
Перекодировать изображение jpg -> png можно с помощью библиотеки pillow.
from PIL import Image image = Image.open('путь/до/файла/image.jpg') image.save('путь/до/файла/image.png')
Ответ написан более двух лет назад
Комментировать
Нравится Комментировать
Ответы на вопрос 0
Ваш ответ на вопрос
Войдите, чтобы написать ответ

- Python
- +2 ещё
TypeError: event_list() missing 1 required positional argument: 'call_data" aiogram при использовании CallbackFactory?
- 1 подписчик
- 11 часов назад
- 23 просмотра
