Работа с файлами в Python
stepik — Антон ЩербакВы можете ответить, с каким флагом лучше открывать файл? Чем отличается rt+ от ab+? Что такое файловый поток и когда нужно пользоваться библиотекой io? Как рекурсивно прочитать содержимое всех файлов в дереве папок? Как правильно работать с файловой системой? Почему нужно валидировать файлы и в каких случаях нужно использовать base64? Мы ответим на каждый из этих вопросов и покажем вам, как правильно использовать новые знания.
Чему вы научитесь
- Научитесь правильно выставлять флаги при работе с файлами
- Узнаете, чем отличается текстовый файл от бинарного
- Разберетесь, почему так важен контекстный менеджер
- Поймете, что такое кодировка и как она работает
- Проведете нормализацию текста
- Научитесь правильно работать с файловой системой
- Узнаете отличия абсолютного и относительного пути
- Сравните os.path и pathlib в своих решениях
- Узнаете, чем так хорош shutil
- Научитесь читать бинарные файлы на низком уровне
- Проведете свою сериализацию и десериализацию файла
- Узнаете, что такое json, toml, yaml и csv
- Разработаете свой валидатор и научитесь применять готовые
- Разберетесь, в чем разница между marshmallow и pydantic
- Увидите, в чем могут быть опасности при использовании pickle
- Узнаете, что такое base64
- Разберетесь, в каких случаях нужно блокировать файл
- Узнаете, как можно отправить файл на сервер и скачать его оттуда
О курсе
Цель курсаВы, наверное, сейчас думаете: "Неужели тот короткий урок из курса n можно было превратить в целый курс?" Когда мы изучали эту тему, казалось, что того короткого урока достаточно для работы. А потом пришли программировать и сели в лужу. Пришлось долго и мучительно выискивать информацию по форумам и непонятным статьям о том, как нужно работать с файлами правильно. Спустя некоторое время понимание пришло, жаль не было места, где эти знания были бы собраны в кучу.
Теперь такое место есть. Наша главная цель – экономия вашего времени и нервов.
Почему стоит выбрать наш курс?
- Мы делаем упор на задачи. В нашем курсе их много, и они не простые. Мы понимаем, что чтобы научиться программировать – нужно решать задачи.
- В нашем курсе вся теория изложена с использованием Python 3.11, что делает наш курс самым современным на данный момент.
- Рассказываем только то, что вам нужно. Не даем бесполезные темы и искусственно хронометраж бессмысленными заданиями не растягиваем.
- Наш курс ориентирован на Backend-разработчиков, потому что мы сами ими являемся. Он подойдет и для других направлений, но для Backend он будет как нож по маслу.
Для кого этот курс
Этот курс нужен любому Backend-разработчику. В нем вы найдете то, с чем будете сталкиваться всегда, когда вам нужно что-то делать с файлами. В дальнейшем вы сможете использовать его как шпаргалку в своей работе.Начальные требования
Мы рассчитываем что вы прошли наш предыдущий курс Python для pre-junior Backend-разработчика либо знаете каждый раздел оттуда.
Также для понимания теории курса:
- Нужно на базовом уровне знать конструкцию try/except/finally/else.
- При освоении раздела по валидации нужно на начальном уровне знать, что такое функция, Класс, и поле класса.
- Также в разделе про валидацию мы используем typings. (Да, этот раздел довольно сложный)
https://stepik.org/course/132196/promo