Тёмный

#51. Функция open. Чтение данных из файла | Python для начинающих 

selfedu
Подписаться 154 тыс.
Просмотров 39 тыс.
50% 1

Обучающий курс: stepik.org/course/100707
Начинаем работу с файлами. Функция open() для открытия файла. Методы read(), readline() и readlines() для чтения данных из файла. Цикл for для чтения данных. Методы seek() и tell() для работы с файловой позицией. Метод close() для закрытия файла.
Telegram-канал: t.me/python_selfedu

Опубликовано:

 

11 окт 2021

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 47   
@popopopo8317
@popopopo8317 2 года назад
Нифига , хватает же тебе энтузиазма снимать это. Не плохо не плохо. Все то же самое как в платных курсах. Не бросай это дело . Многим помогаешь. Единственное что ты не можешь дать людям ... Это только диплом😀
@MrSteviNel
@MrSteviNel 2 года назад
Я уже год дружу с питоном, но с удовольствием посмотрел с 7 утра и до обеда весь плейлист, правда на х1.5, ибо тупо освежаю знания и то много нового почерпнуть успел. Ты просто лучший учитель! Спасибо за твою деятельность!
@vlad-qx5fu
@vlad-qx5fu Год назад
Огромное вам спасибо! Каждый раз говорю что вы большой Молодчина! Благодаря таким людям как вы, может еще существовать наше общество, думающих и рассуждающих!!! Вы достойный пример людям! Merci!!!
@SmenSHik
@SmenSHik Год назад
Сергей, спасибо за ваши уроки. Невероятно интересно и полезно!
@vladimirkulakov8667
@vladimirkulakov8667 2 года назад
продолжаем 51 урок!! Один из лучших базовых курсов!
@donfedor007
@donfedor007 2 года назад
Чем больше смотрю курс, тем больше он мне нравится!
@kohfbi4
@kohfbi4 5 месяцев назад
спасибо огромное!
@elen2662
@elen2662 Год назад
Чудесный стишок в уроке) Все понятно объясняете
@klalyananik
@klalyananik 2 года назад
Очень тщательное и подробное объяснение материала. Мне нравится, спасибо автор!
@gayratsaidakhmedov5451
@gayratsaidakhmedov5451 6 месяцев назад
спасибо
@Ruslan501
@Ruslan501 5 месяцев назад
Супер. Очень подробно. Прохожу 3 курс по питону.. узнаю новые вещи 😅 Спасибо!
@user-yw6nt4zz4c
@user-yw6nt4zz4c Год назад
Сергей, спасибо в очередной раз ;)
@mingboevnurullo
@mingboevnurullo 7 месяцев назад
Legend
@jamjam3337
@jamjam3337 Год назад
спасибо!
@user-fv1ht8fj2z
@user-fv1ht8fj2z 2 года назад
Очень доходчиво объясняете! у вас талант! спасибо огромное за ролик!)
@user-cc1qp6hd9b
@user-cc1qp6hd9b 2 года назад
Единственное что немного перепутали / - это прямой слеш, а вот \ - это обратный слэш
@selfedu_rus
@selfedu_rus 2 года назад
да, оговорился, если так сказал, спасибо! )
@tbassir9076
@tbassir9076 Год назад
Всё как всегда великолепно! Да, Вы хороший учитель, что большая редкость! Респектище!!! Единственное, у меня первый невидимый символ не отобразился на выходе в 11:18
@selfedu_rus
@selfedu_rus Год назад
Спасибо! Он вроде отображается только при кодировке utf-8
@andredru4278
@andredru4278 4 месяца назад
Спасибо. Узнал новое.
@soundwaveandfriends
@soundwaveandfriends 2 года назад
Иногда, при открытии файла по относительному пути может выскакивать исключение filenotfounderror. Вы проверите все, но файл все равно не откроется по относительному пути. Это связано с тем, что относительный путь расчитывается от рабочего каталога, и рабочий каталог при запуске скрипта необязательно будет там, где лежал скрипт. Например, я пишу свой код в нотепаде++, первый раз у меня все нормально было, писал везде относительные пути, все работало. Перезагрузил комп, запустил скрипт - файлы не открываются. Погуглил 5 минут: можно проверить рабочий катталог функцией os.listdir() из стандартного модуля (прописать в начале import os). Проверил, у меня рабочий каталог почему-то стал папкой с экзешником нотепада. Естественно, там моего файла нет. Вывод: нужно проверять рабочий каталог, если пользуешься относительными путями, и явно менять его, если нужно. Либо пользоваться всегда абсолютными путями
@donpatron3631
@donpatron3631 2 года назад
Спасибо за видео.
@ibrahimoglu
@ibrahimoglu 2 года назад
👍
@impellergimpeller5133
@impellergimpeller5133 2 года назад
👍👍👍👍👍
@dzianis0624
@dzianis0624 2 года назад
Добрый день, Сергей. Ещё раз спасибо за видео! Только начал изучать Python и почти уже закопался в нем, пока не нашел ваши видео. Какую последовательность ваших курсов посоветуете, т.е. что смотреть после этого курса (конечно из ваших видео). Цель: написание разных программ на питоне. Спасибо за ответ!
@selfedu_rus
@selfedu_rus 2 года назад
Спасибо! После этого, конечно, ООП (новый курс сейчас делаю, прежний не рекомендую, есть неточности). А после популярные библиотеки, те, что вам будут нужны.
@dzianis0624
@dzianis0624 2 года назад
@@selfedu_rus Спасибо!
@yoursps
@yoursps 2 года назад
аллилуйя!!!! спасибо бро, за объяснения работы с путями, а то везде показывают обращение к файлу в корневой папке... ктож знал что нельзя просто скопировать путь, а надо или слеши добавлять или заменять на обратный
@user-do6tb6ol3g
@user-do6tb6ol3g 2 года назад
Добрый день. Расскажите про конструкцию match/case в обновлённом питоне
@selfedu_rus
@selfedu_rus 2 года назад
я с ней еще не знаком )) надо будет посмотреть и, наверное, позже добавлю. Спасибо!
@osvab000
@osvab000 2 года назад
Как обычно лайкос. Единственное, - при вызове операции tell() - на 32 битной Windows - один символ - 1 байт. Может я ошибаюсь?
@selfedu_rus
@selfedu_rus 2 года назад
Конкретно на 32 бит не проверял, но мне кажется это должно зависеть от кодировки текстового файла. У меня в примере UTF-8, которая для первых 127 символов отводит 1 байт (латинские буквы, например), а остальным - 2 байта. Именно поэтому (для русских букв) мы имеем смещения в 2 байта. Проверьте это у себя, будет интересно узнать такие тонкости )
@a346341
@a346341 8 месяцев назад
Подскажите такой момент. При попытке создать или прочитать файл по относительному пути, он берет файлы не в папке с файлом '*.py', а по адресу c/users/'учетная запись'. Почему так?
@user-xd6lk3nw5x
@user-xd6lk3nw5x Год назад
Здравствуйте! Скажите, пожалуйста, функция open всегда открывает новый файл? А если мне надо получить доступ из main к уже существующему файлу, каким образом это можно сделать?
@karandalliik
@karandalliik 2 года назад
Да. Интересно. Все ни как не закрою вопрос по автоматическому использованию знаний с добавлением/удалением строк в разных позициях. Пока, задач таких мало очень. Получается готовится курс на stepik ???
@antonpython8059
@antonpython8059 Год назад
Как в файл сохранить несколько списков отдельно друг от друга, с дальнейшим их чтением и конвертацией обратно в list.
@antonpython8059
@antonpython8059 Год назад
Написал свою функцию, которая конвертирует каждую строку из полученного списка строк( readlines() ) - в список , с последующим занесение такого списка в библиотеку. В принципе довольно простой и рабочий код. Сойдет. Один минус, нужен для маркировки один знак, который потом придется сделать не доступным для использования, либо сделать подмену при его использовании.
@flare3302
@flare3302 2 года назад
Первый )
@user-fz1yu2qv8f
@user-fz1yu2qv8f Год назад
Похоже буду 3ий раз пересматривать видео. Не понимаю как никого вопросов никаких не возникает. Видимо не стремятся все разобрать детально. Потому что я замечаю странное поведение при импортированинии пакета.
@lem0n666
@lem0n666 Год назад
\ это обратный слеш / это слеш
@victorstelmashchuk4840
@victorstelmashchuk4840 2 года назад
Это в винде слеш обратный. А в юниксах - обычный. :)
@MrKim-pt2vm
@MrKim-pt2vm Год назад
Допустим у меня в текст из трёх абзацев, как их поместить каждый в свой список, а каждое предложение в строку?
@AndriiHaidai
@AndriiHaidai 2 года назад
/ - slash \ - backslash Not vice versa.
@qwerty0xD52
@qwerty0xD52 2 года назад
не работает
@nazi424
@nazi424 7 месяцев назад
def create_entry(): title = input("Введіть заголовок: ") text = input("Введіть текст: ") return f"{title}, {text} " def save_entry(entries, file_name="notes.txt"): with open(file_name, "w") as file: #as - надає псевдонім (створює силку для роботи з об'єктом) file.writelines(entries) def delet(entries): try: index_remove = int(input("Який список видалити: ")) removed_entry = entries.pop(index_remove - 1) print(f"Список {removed_entry}, був видалений") except ValueError and IndexError: print("Список не знайден") def main(): entries = [] try: with open("notes.txt", "r") as file: entries = file.readlines() except FileNotFoundError: print("Файл не знайдено") while True: print("1. Створити запис") print("2. Переглянути записи") print("3. Зберегти та вийти") print("4. Видалити запис") choice = input("Виберіть функцію: ") if choice == "1": n_create = create_entry() entries.append(n_create) elif choice == "2": for index, entry in enumerate(entries, 1): print(f"{index}. {entry}") elif choice == "3": save_entry(entries) print("Записи збережено. Дякую за використання") elif choice == "4": delet(entries) if __name__ == "__main__": #це використовується, щоб переконатисящо код запускається тільки тоді, #коли він викликається напряму, а не імпортується в інший модуль. main() жесть, я не впевнений, що зможу повторити цей код навіть з 10 спроби -_-. Насправді with open дуже важка тема, б оможна легко заплутатися
@nazi424
@nazi424 7 месяцев назад
п.с повторив, хоча й не без допомоги чату гпт
@illiukhin
@illiukhin 2 года назад
спасибо
Далее
치토스로 체감되는 요즘 물가
00:16
Просмотров 3,7 млн