Нифига , хватает же тебе энтузиазма снимать это. Не плохо не плохо. Все то же самое как в платных курсах. Не бросай это дело . Многим помогаешь. Единственное что ты не можешь дать людям ... Это только диплом😀
Я уже год дружу с питоном, но с удовольствием посмотрел с 7 утра и до обеда весь плейлист, правда на х1.5, ибо тупо освежаю знания и то много нового почерпнуть успел. Ты просто лучший учитель! Спасибо за твою деятельность!
Огромное вам спасибо! Каждый раз говорю что вы большой Молодчина! Благодаря таким людям как вы, может еще существовать наше общество, думающих и рассуждающих!!! Вы достойный пример людям! Merci!!!
Иногда, при открытии файла по относительному пути может выскакивать исключение filenotfounderror. Вы проверите все, но файл все равно не откроется по относительному пути. Это связано с тем, что относительный путь расчитывается от рабочего каталога, и рабочий каталог при запуске скрипта необязательно будет там, где лежал скрипт. Например, я пишу свой код в нотепаде++, первый раз у меня все нормально было, писал везде относительные пути, все работало. Перезагрузил комп, запустил скрипт - файлы не открываются. Погуглил 5 минут: можно проверить рабочий катталог функцией os.listdir() из стандартного модуля (прописать в начале import os). Проверил, у меня рабочий каталог почему-то стал папкой с экзешником нотепада. Естественно, там моего файла нет. Вывод: нужно проверять рабочий каталог, если пользуешься относительными путями, и явно менять его, если нужно. Либо пользоваться всегда абсолютными путями
Всё как всегда великолепно! Да, Вы хороший учитель, что большая редкость! Респектище!!! Единственное, у меня первый невидимый символ не отобразился на выходе в 11:18
Добрый день, Сергей. Ещё раз спасибо за видео! Только начал изучать Python и почти уже закопался в нем, пока не нашел ваши видео. Какую последовательность ваших курсов посоветуете, т.е. что смотреть после этого курса (конечно из ваших видео). Цель: написание разных программ на питоне. Спасибо за ответ!
Спасибо! После этого, конечно, ООП (новый курс сейчас делаю, прежний не рекомендую, есть неточности). А после популярные библиотеки, те, что вам будут нужны.
аллилуйя!!!! спасибо бро, за объяснения работы с путями, а то везде показывают обращение к файлу в корневой папке... ктож знал что нельзя просто скопировать путь, а надо или слеши добавлять или заменять на обратный
Конкретно на 32 бит не проверял, но мне кажется это должно зависеть от кодировки текстового файла. У меня в примере UTF-8, которая для первых 127 символов отводит 1 байт (латинские буквы, например), а остальным - 2 байта. Именно поэтому (для русских букв) мы имеем смещения в 2 байта. Проверьте это у себя, будет интересно узнать такие тонкости )
Подскажите такой момент. При попытке создать или прочитать файл по относительному пути, он берет файлы не в папке с файлом '*.py', а по адресу c/users/'учетная запись'. Почему так?
Здравствуйте! Скажите, пожалуйста, функция open всегда открывает новый файл? А если мне надо получить доступ из main к уже существующему файлу, каким образом это можно сделать?
Да. Интересно. Все ни как не закрою вопрос по автоматическому использованию знаний с добавлением/удалением строк в разных позициях. Пока, задач таких мало очень. Получается готовится курс на stepik ???
Написал свою функцию, которая конвертирует каждую строку из полученного списка строк( readlines() ) - в список , с последующим занесение такого списка в библиотеку. В принципе довольно простой и рабочий код. Сойдет. Один минус, нужен для маркировки один знак, который потом придется сделать не доступным для использования, либо сделать подмену при его использовании.
так а если открывать с with open то закрывается автоматически и это написано даже в документации и книгах что такой метод более желателен, так как меньше вероятности ошибиться забыв закрыть файл, Так зачем же тут дается объяснение с "насильственным" закрытием а не автоматическим??? Ну или, по крайней мере, можно же было хотя бы рассказать о ключе WITH Вот скопировала с Python org с официальной документации: It is good practice to use the with keyword when dealing with file objects. The advantage is that the file is properly closed after its suite finishes, even if an exception is raised at some point. with open('workfile', encoding="utf-8") as f: read_data = f.read()
Похоже буду 3ий раз пересматривать видео. Не понимаю как никого вопросов никаких не возникает. Видимо не стремятся все разобрать детально. Потому что я замечаю странное поведение при импортированинии пакета.
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 дуже важка тема, б оможна легко заплутатися
Нифига , хватает же тебе энтузиазма снимать это. Не плохо не плохо. Все то же самое как в платных курсах. Не бросай это дело . Многим помогаешь. Единственное что ты не можешь дать людям ... Это только диплом😀
Я уже год дружу с питоном, но с удовольствием посмотрел с 7 утра и до обеда весь плейлист, правда на х1.5, ибо тупо освежаю знания и то много нового почерпнуть успел. Ты просто лучший учитель! Спасибо за твою деятельность!
Огромное вам спасибо! Каждый раз говорю что вы большой Молодчина! Благодаря таким людям как вы, может еще существовать наше общество, думающих и рассуждающих!!! Вы достойный пример людям! Merci!!!
Сергей, спасибо за ваши уроки. Невероятно интересно и полезно!
продолжаем 51 урок!! Один из лучших базовых курсов!
Супер. Очень подробно. Прохожу 3 курс по питону.. узнаю новые вещи 😅
Спасибо!
Чем больше смотрю курс, тем больше он мне нравится!
Чудесный стишок в уроке) Все понятно объясняете
Очень тщательное и подробное объяснение материала. Мне нравится, спасибо автор!
Иногда, при открытии файла по относительному пути может выскакивать исключение filenotfounderror. Вы проверите все, но файл все равно не откроется по относительному пути. Это связано с тем, что относительный путь расчитывается от рабочего каталога, и рабочий каталог при запуске скрипта необязательно будет там, где лежал скрипт. Например, я пишу свой код в нотепаде++, первый раз у меня все нормально было, писал везде относительные пути, все работало. Перезагрузил комп, запустил скрипт - файлы не открываются. Погуглил 5 минут: можно проверить рабочий катталог функцией os.listdir() из стандартного модуля (прописать в начале import os). Проверил, у меня рабочий каталог почему-то стал папкой с экзешником нотепада. Естественно, там моего файла нет. Вывод: нужно проверять рабочий каталог, если пользуешься относительными путями, и явно менять его, если нужно. Либо пользоваться всегда абсолютными путями
Всё как всегда великолепно! Да, Вы хороший учитель, что большая редкость! Респектище!!! Единственное, у меня первый невидимый символ не отобразился на выходе в 11:18
Спасибо! Он вроде отображается только при кодировке utf-8
Сергей, спасибо в очередной раз ;)
Очень доходчиво объясняете! у вас талант! спасибо огромное за ролик!)
Единственное что немного перепутали / - это прямой слеш, а вот \ - это обратный слэш
да, оговорился, если так сказал, спасибо! )
Спасибо за видео.
Спасибо. Узнал новое.
спасибо!
спасибо огромное!
спасибо
Добрый день, Сергей. Ещё раз спасибо за видео! Только начал изучать Python и почти уже закопался в нем, пока не нашел ваши видео. Какую последовательность ваших курсов посоветуете, т.е. что смотреть после этого курса (конечно из ваших видео). Цель: написание разных программ на питоне. Спасибо за ответ!
Спасибо! После этого, конечно, ООП (новый курс сейчас делаю, прежний не рекомендую, есть неточности). А после популярные библиотеки, те, что вам будут нужны.
@@selfedu_rus Спасибо!
аллилуйя!!!! спасибо бро, за объяснения работы с путями, а то везде показывают обращение к файлу в корневой папке... ктож знал что нельзя просто скопировать путь, а надо или слеши добавлять или заменять на обратный
Добрый день. Расскажите про конструкцию match/case в обновлённом питоне
я с ней еще не знаком )) надо будет посмотреть и, наверное, позже добавлю. Спасибо!
Как обычно лайкос. Единственное, - при вызове операции tell() - на 32 битной Windows - один символ - 1 байт. Может я ошибаюсь?
Конкретно на 32 бит не проверял, но мне кажется это должно зависеть от кодировки текстового файла. У меня в примере UTF-8, которая для первых 127 символов отводит 1 байт (латинские буквы, например), а остальным - 2 байта. Именно поэтому (для русских букв) мы имеем смещения в 2 байта. Проверьте это у себя, будет интересно узнать такие тонкости )
Подскажите такой момент. При попытке создать или прочитать файл по относительному пути, он берет файлы не в папке с файлом '*.py', а по адресу c/users/'учетная запись'. Почему так?
Здравствуйте! Скажите, пожалуйста, функция open всегда открывает новый файл? А если мне надо получить доступ из main к уже существующему файлу, каким образом это можно сделать?
Legend
Да.
Интересно.
Все ни как не закрою вопрос по автоматическому использованию знаний с добавлением/удалением строк в разных позициях.
Пока, задач таких мало очень.
Получается готовится курс на stepik ???
👍
👍👍👍👍👍
Стишок прикольный
Как в файл сохранить несколько списков отдельно друг от друга, с дальнейшим их чтением и конвертацией обратно в list.
Написал свою функцию, которая конвертирует каждую строку из полученного списка строк( readlines() ) - в список , с последующим занесение такого списка в библиотеку. В принципе довольно простой и рабочий код. Сойдет. Один минус, нужен для маркировки один знак, который потом придется сделать не доступным для использования, либо сделать подмену при его использовании.
Первый )
\ это обратный слеш
/ это слеш
так а если открывать с with open то закрывается автоматически и это написано даже в документации и книгах что такой метод более желателен, так как меньше вероятности ошибиться забыв закрыть файл, Так зачем же тут дается объяснение с "насильственным" закрытием а не автоматическим??? Ну или, по крайней мере, можно же было хотя бы рассказать о ключе WITH
Вот скопировала с Python org с официальной документации:
It is good practice to use the with keyword when dealing with file objects. The advantage is that the file is properly closed after its suite finishes, even if an exception is raised at some point.
with open('workfile', encoding="utf-8") as f:
read_data = f.read()
Похоже буду 3ий раз пересматривать видео. Не понимаю как никого вопросов никаких не возникает. Видимо не стремятся все разобрать детально. Потому что я замечаю странное поведение при импортированинии пакета.
1:32 хахах, папка "images", файл "images.TXT" 😄
где то подстава😋
/ - slash
\ - backslash
Not vice versa.
Допустим у меня в текст из трёх абзацев, как их поместить каждый в свой список, а каждое предложение в строку?
Это в винде слеш обратный. А в юниксах - обычный. :)
не работает
стишок, немножко националистический )
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 дуже важка тема, б оможна легко заплутатися
п.с повторив, хоча й не без допомоги чату гпт
спасибо