Работа с файлами в Python. Чтение и запись данных
ฝัง
- เผยแพร่เมื่อ 7 ก.พ. 2025
- 🔥🔥🔥 Инди-курс по Python 🔥🔥🔥
stepik.org/cou...
👉👉👉 Свой вопрос по курсу можешь задать в чате
t.me/+SlnNhAO7...
👉👉👉 Также подписывайся на мой телеграмм-канал
t.me/python_eg...
egoroffartem.py...
stepik.org/cou...
Курс на степике
В данном уроке разберем как работать с файлами, выполнять операцию чтения из файла, и запись в файл ( file input/output)
Прежде, чем работать с файлом, его надо открыть.Для этого в Python есть встроенная функция open:
file = open(имя, режим, кодировка)
У функции open много параметров, они указаны в статье "Встроенные функции", нам пока важны 3 аргумента: первый, это имя файла. Это обязательный параметр. Путь к файлу может быть относительным или абсолютным.
Второй аргумент, это режим, в котором мы будем открывать файл. По умолчанию все файлы открываются в режиме чтения "r".
Другие режимы описаны здесь
stackabuse.com...
Третий необязательный параметр encoding отмечает за кодировку файла. Для возможности работы с кириллицей вам необходимо поставить encoding в значение utf-8
egoroffartem.py...
Подробная информация об этом уроке
Все видео этого курса можете найти на сайте
egoroffartem.py...
или в Вк
videos-...
Если кому нужна помощь, предлагаю индивидуальные занятия. Подробнее пишите в личку в вк
artem_e...
python....
В данном группе можете найти информацию о новых видео и задать вопросы
🫵 Теория без практики - ничто, поэтому 👇
🐍 stepik.org/course/63085/promo
👉 специально для тебя создал бесплатный топовый курс по Python
👉 В нем тебя ждет:
📗 более 400 практических заданий на программирование
📗 более 250 тестовых заданий на проверку материала
📗 десятки часов видеоматерилов по теории
📗 видеоразборы решения заданий
📗 текстовые материалы по урокам, примеры кода
📗 доступ к закрытому чату с дружественной обстановкой
📗 сертификат в случае успешного прохождения курса
Спасибо что не бросаете нас. Ваш контент очень полезный и интересный. Спасибо большое.
Как жешь тетя бросить бедалагу? Ты же протухнишь 🤣🤣🤣🤣🤣🤣
@@voltolive1370язва
@@voltolive1370зато ты не протухнешь
Спасибо большое и дай Вам Бог долгих лет жизни
Функция print() по умолчанию добавляет в концу вывода символ перенос строки
и считанная строка из файла имеет в конце символ перенос строки
Все верно!)
а как его убрать?
@@watchufc4784 print('text', end='')
.
Дается сложно, но я стараюсь запомнить. Спасибо большое, Артем !
Спасибо, про файлы это очень интересная тема, одна из самых интересных точно, все понятно объясняете, спасибо вам за такое информативное и бесплатное видео!
Опаньки, новый видосик. Благодарю и ставлю сразу лайк :) Только не бросай это дело, а то мало тех, кто так хорошо объясняет.
спасибо конечно, разве что ты 12 минут рассказывал как это работает, а в конце такой: "но так лучше не делать, а как делать ищите другое видео")
Очень интересно и подробно. Хочу изучить базу с помощью вашего канала для автоматизации процессов , bash все же не так прост и не так краток )
благодарю, один из лучших по качеству объяснения каналов в ру ютубе.
Артем!Вы мега доходчиво объясняете!Спасибу за бесценную работу!
Быстро и понятно. Хотел написать некий язык программирования. Подзабыл как работает чтение из файлов. Ты спас. Лайк и подписон!
лайк. лайк. я сюда попала с другого курса на степике, где эта тема была плохо раскрыта (пришлось ютубить), закончу с ним и обязательно и ваш курс пройду❤
Как всегда , бог интеграций продвижения канала!) Лайк!
Когда начал писать пример , сразу создал его в другой папке и тут и пригодилось 'r' приятно видеть на примере работы с другой задачей, как важны предыдущие уроки :)
Спасибо, вы сохраняете мое время и очень подробно объясняете!
Большое вам спасибо за проделанную работу)
Что бы избавится от пропуска между строками надо писать дополнительное значение в функции: ваш вариант -- " ptint(name_file.readline()) ", вариант исключающий пробел -- "print(name_file.readline(), end = 'в скобках не должно быть ничего, даже пробела' "
В общем ответ: print(name_file.readline(), end = "")
Получится ли
print(str(name_file.readline()[:-2]) и в цикл, получается везде будет удаляться --
--
Пробелы не чем не мешают, если по ним идти циклам он их не захватит, а если нужно посчитать их кол-во. Ведь пробелов на один меньше чем строк
.strip() убирает
и \t
Мне очень понравился ваш курс. Задания бывают сложные и это хорошо, ты их откладываешь, а потом возвращаешься, и тебе легче их решать( при этом используешь только те навыки, на которые и была задача)
Коротко, чётко и по существу, спасибо большое!!!
Спасибо!!! Благодаря твоему видео разобрался как указать путь к файлам в РyCharm Cоmmunity Edition 2022.2.2 на компе. Учится никогда не поздно!
Братан у тебя видосики бомба.Не останавливайся.Не терпением ждем твои видосы
Боже, как же вы выручаете!
Брат ты лучший!!!!! все ролики разом посмотрел,однозначно огромный лайк
Не, ну как всегда - лайк! Спасибо огромное!)
5:30 потому что 1) функция принт имеет параметр end, который по дефолту в конце строки ставит "
" а также в конце строки внутри файла есть невидимые "
". Поэтому и получается 2 отступа)
Полезные методы на понятном языке с пояснениями. Спасибо!
спасибо большое вам вы четко и ясно все обеъесняете и к тому же голос приятный надеюсь вы будете продолжать свое дело )
5:30 потому что по умолчанию end='
'
И в конце каждой строки стоит точно такой же символ
Я дошел до того момента изучения пайтона когда у меня в голове только:
"ПААААЙТОН БЛЯЯЯЯЯЯЯЯЯЯЯЯТЬ"
Вы огромный молодец ! Благодаря вам я смог написать базу данных ( смешно кнш но все же )
Можешь помочь?
@@Eneos7 дядя,это было год назад,забей
Спасибо, как всегда кратко и по существу
Артём, благодарю!!!!! 🔥🔥🔥🔥🔥👍
ой как еще хочется о файлах видос
спасибо за качественные уроки!!
Спасибо, для подготовки к егэ очень полезно
Отлично, что есть и степик и спонсорство! Двигатели прогресса!
спасибо большое, посмотрела :)
Всем привет, товарищи программисты!
Хотел бы дать не плохой совет для новичков.
Можете использовать
with
Для открытия файла.
Пример:
with open(' путь к файлу', 'w', encoding='UTF-8') as file:
file.write('Хорошего дня друг!')
Тогда file.close() не нужно использовать ^-^
Я из 2022 года! Это видео спасло меня. Спасибо автору!!!
Красава,пол часа искал и ток ты помог,сппасибо удачи)
Спасибо! Вы очень хороший человек. +подписка
лойс за контент (P/s хотелось бы увидеть хороший рашен контент по пандам, сиборну и прочим матплотлибами)
readline() считывает символ '
' + функция print() делает по умолчанию ещё один перенос строки и получается что при считывании и выводе файла построчно выводится дополнительная пустая строка в консоль.
Спасибо за проделанную работу. РЕСПЕКТ С КЗ
Спасибо большое за курс!
Спасибо, объяснил всё очень понятно. С меня лайк+подписка
Классное видео! Лайк
Жаль, что нет продолжения работы с файлами через with
Спасибо большое! очень понятно объясняете
Просто классно. Спасибо.
Будут ещё видео по работе с файлами, очень хочется по-подробнее разобраться в этом разделе))
Благодарю! Все очень доступно!
подписался, спасибо, все доходчиво
большое спасибо за помощь
Спасибо большое, полезное видео
Спасибо Вам!
очень хороший контент
Ты лучший! 🙂
Спасибо за труд, у тебя великолепно всё получается
чтобы так не происходило, как на фрагменте 5.28, нужно в принте указать: print(file.readline(), end='')
а происходит это, потому что в конце каждой строчки стоит
и readline считывает "лалалала
"
то есть и принт выведет "лалалала"
""
Так произошло потому что следующая строка в python считывается как символ
который все же входит в строку и каждый раз выводиться)
Круто! Спасибо!
10:05 так почему же если при "a+" написать print(file.read()) то ничего напечатано не будет?
Как всегда супер!
Артем скажи, планируется ли что то про классы?
Спасибо.
да, в следующем месяце думаю начну
В инете много контента про базовые штуки, а про классы простым языком не найти. Ждем классы!
@@yura9885 Полностью согласен
Классы даже очень интересная тема!но нужно внимательно читать и вникать в тему
@@egoroffchannel Здравствуйте, а как можно каждую строку анализировать и допустим выводить в консоль предварительно окрасив в нужный цвет?
spasibo za urok
к вопросу на 5:35: дополнительный пробел возникает из-за
в конце каждой строки. "
" его не видно, а он есть))))
Видео очень даже полезное, но графика плохая, 750p сложно видеть текст
5:40, думаю добавляатся ещё пробел, потому что в конце предложений у каждой строки есть '
', который переводит следующий текст на новую строку
большое спасибо за видио)
огромное спасибо
Спасибо большое. А есть у вас видео, как считать числа и поработать с ними? Потому что, я так понял, мы считываем все в строчном виде?
Добрый день, а почему не показали метод открытия файла через with open () as .... тогда автоматически закрывается.
Думаю также стоило затронуть конструкцию with open()
А да, вот все режимы: r, w, a, r+, a+ (для текстового файла)
5:23 end=""
Я только учусь спасибо
Здравствуйте, я пишу бота для дискорда на Python, можете подсказать, почему после первого использования .read() или .write() содержимое файла .txt стирается?
а можно использовать 2 мода одновременно? Тоесть к примеру wb (работа с бинарными файлами) и w(чтобы файл пересоздавался если он уже имеется на компьютере?)
Обязательно запишусь
9:45. впринципі якщо дописати перед всім кодом while True: і вирівняти то може вийти примітивний вірус "пожирач пам'яті"
Молодець Володька
Подскажите, пожалуйста, как добавлять по 1 слову в список и проверять, есть ли это слово уже в списке
Спаибо за видео!
Егор, так как ты делаешь видео по уроки Python, как насчёт видео про олимпиадное программирование на языке Python?
Как тебе такая идея ?
Егора тут вообще нет) Меня Артем зовут
@@egoroffchannel XD Что??? А тогда почему канал называется egoroff?????
@@lime1453 он каждое видео говорит, меня зовут Егоров Артем...
Добрый Артем! Затронете ли Вы в своем курсе о питоне или отдельном курсе про ООП и его применении, а также будут ли данное дополнение на курсе в степике? Заметил, что очень многие авторы курсов не рассматривают применение накопленных знаний в реальных ситуациях, как по мне ООП нужно знать и уметь программить по ООП'у.
добрый вечер. Первое видео по ООП уже прорабатывается
@@egoroffchannel Супер, буду ждать весь плейлист!
Привет! Какие могут быть причины того, что даже при условии что .py и .txt лежат в одной директории, но .py не хочет открывать .txt сообщая, что нет такого файла в директории? Есть варианты исправить, не альтернативное открытие, а чтоб как на видео открывался... как у всех открывался...
Вот видео с лучшими способами считывания - th-cam.com/video/YV1pxZW8UfA/w-d-xo.html
Здравствуйте. почему через раз запись в файл работает. спасибо заранее за ответ
3:13 я написал перед путём к файлу букву r, но экранированные символы все равно активны
а можно ли сделать так, если находит одинаковую строчку, писал какое нибудь слово? вот мой код:
while True:
file = open("base.txt", "a+")
a = input("ваше имя: ")
c = file.write(f"{a}
")
b = file.readlines()
if file == c:
print("$")
Здравствуйте.
Касательно команды file.write
У меня они выполняются без ошибок, но в самом файле ничего нет, текст не отображается. Как это решить?
Запишите заглавными буквами слово, написанное в одной строке файла input.txt, в файл output.txt.
можете помочь?
Thanks ( wonderful)
Здравствуйте, спасибо за урок! А в какой среде вы программируете?
Pycharm
Когда я создал текстовый документ в папке, то задалась кодировка Windows(CRLF), а не UTF-8, и файл просто не находился
encoding стоит использовать только тогда, когда у вас есть проблемы с выводом (неразборчивые символы)
Проверяйте какая кодировка в самом текстовом документе
Автор открыл txt в PyCharm, а он задает кодировку (там-же можно и конвертировать)
а как в папку добавить текстовый файл?
Какой компилятор используете?
Поставил лайк
Спасибо.
там в конце каждой строчки стоит невидимый символ, который перемещает на строку вниз(Enter). Ну, в майкрософт ворде такое есть
Как взять в программу переменную с txt
у меня не видит файл который там же где и исполняемый фаил - я на него глвное смотрю - а пайчарм его в упор не видит ...как быть? и полный путь уже делал все равно не видит и все txt файл
Почему режим 'a+' записать- записал, но ничего не считал (file.read()) 10:10
Согласен
Он не вывел получившийся результат на экран. То есть там нет функции print.