Быстрый в изучении - мощный в программировании
>> Telegram ЧАТ для Python Программистов

Свободное общение и помощь советом и решением проблем с кодом! Заходите в наш TELEGRAM ЧАТ!

>> Python Форум Помощи!

Мы создали форум где отвечаем на все вопросы связанные с языком программирования Python. Ждем вас там!

>> Python Канал в Telegram

Обучающие статьи, видео и новости из мира Python. Подпишитесь на наш TELEGRAM КАНАЛ!

Запись данных в файл Python

Как осуществить чтение из файла мы обсудили в прошлой статье. В данной статье мы обсудим способы записи данных в файл. Чтобы не было ошибки из за доступа, убедитесь, что в папке где вы хотите выполнить изменения или сам файл имеют права 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()

Можно выполнять запись и изменения в любые типы файлов с которыми хотите работать. Ограничение на манипуляцию файлов в зависимости от его типа нету, данные функции имеют полный контроль над файлами, конечно, если администратор выделил файлу нужные права.

Заменяем данные из определенной строки файла

Если требуется замена данных из файла на определенной его строке, то для этого понадобятся методы readlines() и writelines(). Нам предстоит открыть построчно файл, заменить нужную строку и сохранить файл в такой очередности в которой находятся значения в списке.

Изначальный файл snake.txt

Я
Программа
написанная
в
Python
3

Заменяем 5-ю строку со значением 'Python' на значение 'Питон'

# -*- coding: utf-8 -*-
# Открываем файл только для чтения
f = open('snake.txt', 'r')
lines = f.readlines()
lines[4] = 'Питон' + '\n'
 
# Закрываем файл
f.close()
 
# Открываем файл для записи
save_changes = open('snake.txt', 'w')
 
# Сохраняем список строк
save_changes.writelines(lines)
 
# Закрываем файл
save_changes.close()

Финальный вид файла snake.txt

Я
Программа
написанная
в
Питон
3

Копирование файлов в Python

Как осуществить копирование файлов, мы обсуждали в прошлой статье. Но, можно копировать файлы без использования каких либо библиотек или модулей. В примере мы будем копировать изображения из одной папки в другую.

# -*- coding: utf-8 -*-
# Открываем файл только для чтения
old_image = open('temp/pro.jpeg', 'r').read()
 
# Создаем новый файл
new_image = open('new_pro.jpeg', 'w')
 
# Сохраняем данные старой картинки в новую
new_image.write(old_image)
new_image.close()

По дороге к работе где вы отлично программируйте на пайтоне случилось непредсказуемое и вы попали в небольшое дтп и некому вытащить вашу машину из беды? Рекомендую отличный эвакуатор который вытащит из любой ситуации вашего железного коня, может даже и подбросит до работы.

Комментариев: 7
  1. Ппц. А как насчет закрытия файла и проверки его содержимого до окончания выполнения модуля?

  2. СогласенСЛёхой | 2017-03-22 в 09:08:59

    Как закрывать-то?

  3. Леха, СогласенСЛёхой

    Спасибо ребята за замечания!

    С Вами мы сделаем проект лучше ;)

  4. Обновили статью!

  5. Не Леха | 2017-04-17 в 23:56:53

    Archy вы ответили спустя 3 года? как так -_-

  6. Не Леха, извиняюсь. Лучше поздно чем никогда. Некоторое время были проблемы с авторами. Но сейчас мы наняли новых авторов и они будут публиковать на сайте новые статьи. Можете зайти в нашу группу в ВК там есть новые статьи только на другом ресурсе.

  7. Жанибек | 2018-09-30 в 00:22:37

    Боже зачем делать статью от фонаря на от кхмм, просто нечего не понятно примеры такие себе, + показали только как заменить текст и то только определенную строку, а как просто дописать туда текст.

Оставьте комментарий!

Используйте нормальные имена.

Имя и сайт используются только при регистрации

Если вы уже зарегистрированы как комментатор или хотите зарегистрироваться, укажите пароль и свой действующий email. При регистрации на указанный адрес придет письмо с кодом активации и ссылкой на ваш персональный аккаунт, где вы сможете изменить свои данные, включая адрес сайта, ник, описание, контакты и т.д., а также подписку на новые комментарии.

(обязательно)