Помнится появилась у меня на работе одна мерзкая рутинная задача по сведению текста из нескольких txt-файлов в .doc документ. А в doc файле, перед началом куска текста нужно было сделать заголовок с текстом из названия файла. Документов было около 5к, в разных папках. Начальник запряг 3 человека на эту работу, т.к. нужно было сделать срочно до конца рабочего дня. Мы поделили файлы и приступили к работе. По-началу всё шло бодренько, но через полчаса стало понятно, что до конца рабочего дня мы точно не успеем такими темпами. После этого мне в голову пришла идея автоматизировать задачу, но вот беда: на работе нельзя ничего установить на ПК, т.к. действует запрет групповой политики на запуск и исполнение неразрешённого софта, а нормального ПК без ограничений групповой политики не было. Я вышел покурить и в курилке меня осенило "можно же использовать макросы vba из самого MS офиса"! До этого я никогда не работал с vba, но в качестве хобби изучал дома С#. Раскуривая скудные мануалы по vba, чертыхаясь, я принялся писать макрос. Писал его около часа. Всё это время на меня шипели коллеги за то, что я не копирую файлики, а занимаюсь какой-то неведомой фигнёй. И вот макрос был написан. Он заходил в папки, считывал txt файлы и писал их в созданный через этот же макрос doc файл, не забывая формировать заголовки. Затем макрос сохранял doc файл в аккуратную папку "Обработано". Все файлы макрос обработал секунд за 10. В это же время мои коллеги обработали около 1/4 от всего объёма. Оставшиеся 4 часа до конца рабочего дня мы отдыхали.
@oldcoders2 жыл бұрын
Шикарная история! Всегда впечатляет НАСКОЛЬКО компьютеры могут экономить время.
@msvru Жыл бұрын
По работе нужно было забить большое количество данных в базу 1С через очень неудобный web интерфейс. Поскольку творческие задачи гораздо интереснее монотонных, написал скрипт на autoit (на моём рабочем ПК я админ) и весь процесс я тупил в телефон, поглядывая как трудится мой скрипт тыкая в кнопочки и заполняя поля.
@ВладимирОсадчий-р5о Жыл бұрын
Да, воодушевляет изучить программирование. Хотя бы для личного развития. Пример шикарный! 👍👍👍
@RadicalCrab2 жыл бұрын
Хотел вставить 5 копеек по коду, но потом подумал что так будет слишком душно, поэтому напишу свой лайфхак по практике программирования: я ходил по форумам где тусуются начинающие изучать программирование студенты и писал для них бесплатно программы, под их относительно простые учебные задачи. Это помогло мне набить руку с использованием фактически неограниченного генератора вполне осмысленных заданий. А автору спасибо за контент, всегда рад когда кто-то открывает для себя новые интересы, особенно если это программирование )
@oldcoders2 жыл бұрын
Не! Напишите пожалуйста про код, как оптимальнее было бы. Только не в плане экономии памяти, типа лучше кортеж вместо списка или конкатенация много памяти ест, а именно что нить интересное 😀
@RadicalCrab2 жыл бұрын
@@oldcoders оптимизировать по памяти или скорости одноразовые утилиты смысла, конечно, мало, мне скорее бросились в глаза фундаментальные вещи - например использование исключений для обработки ошибок. Все таки обычно стараются сделать так, чтобы исключений не возникало, именно на то они и исключения, а используя их таким образом вы как бы перекладываете ответственность с программиста на интерпретатор. Обработчик исключений, в первую очередь, нужен для внештатных ситуаций, а тут ситуация прогнозируемая и вполне штатная. Ну и по мелочи там, например *chdir* не нужен, ведь *listdir* принимает путь для которого надо вернуть листинг или то, что *file = os.path.join(dir, dir + '_1.jpg')* и второй *listdir* не требуется, плюс можно сразу проверить есть ли такой файл и если нет - вывести ошибку, что для такой-то папки не найден требуемый файл. И все равно подушнил, но я не хотел! )
@oldcoders2 жыл бұрын
Классно, спасибо!! Ничего не душнилово, все так и есть! Реально оптимизация 👍👍 захотелось даже продолжение снять «как оптимизировать программу» 😀
@afkmate2 жыл бұрын
@@oldcoders Было бы интересно посмотреть)
@TeMyAp2 жыл бұрын
@@oldcoders сними про это продолжение, зацепило. 20-30 ещё минут
@Jack08F2 жыл бұрын
Дружище, тебя так приятно слушать. Не быстро, не медленно, интонация не утомляет. (бывший инженер по качеству, рентгенотехника. Меняю профессию, в поисках и в процессе обучения)
@trankov2 жыл бұрын
1. Не нужно использовать `dir` как имя переменной, потому что это имя глобальной функции dir(). 2. Для работы с файловой системой лучше использовать pathlib. 3. try...except нормальный путь для Python, но лучше просто проверять на директорию 4. Вместо переменной counter лучше пользоваться enumerate() 5. На Маке для этой задачи лучше было запустить Automator, а не писать скрипт руками
@oldcoders2 жыл бұрын
Спасибо! Про Automator я даже не знал что он существует 😬😀
@СтепСтеп-п1л2 жыл бұрын
Спасибо вам большое! Делайте пожалуйста почаще такие видео!
@oldcoders2 жыл бұрын
Постараюсь! :)
@progway85742 жыл бұрын
Вот это вообще красота! Где-то 1/3, может 2/3 из этого ролика информации я не знал (мне просто 14 и python только учу), но мне очень пригодились знания работы с командной строкой Windows, поэтому думаю, что в этом не очень сложно разобраться. С такими роликами становиться понятным, для чего нужны все эти функции и операции. К примеру, если нужно перебрать не 487 папок, а несколько тысяч 😨 Поэтому большое спасибо Вам за ролик. Попробую тоже по Вашему примеру написать что-то похожее)
@oldcoders2 жыл бұрын
Ты молодец 👍👍
@oldcoders2 жыл бұрын
Не соглашусь. Это все не надо учить. Это надо понять. Грубо говоря как механик не должен знать как устроен автомобиль каждого бренда. Встречает неизвестный автомобиль - берет мануал и разбирается. Затем ремонтирует.
@info_code Жыл бұрын
А мне 13, тоже обожаю этот канал)Изучаю Питон около года, и с папками вообще дела не имела=)
@user-mh7yr4mg6u Жыл бұрын
счастливый человек, что так рано начал осваивать программирование. Очень выигрышный ход, который существенно упростит и улучшит твоё будущее. Был бы кто-то, кто бы мне в 14 посоветовал начать учить программирование, был бы благодарен этому человеку
@MrAlexVelik2 жыл бұрын
Спасибо! Посмотрел все ваши видео, тоже теперь учусь программировать. Было приятно, что всё так понятно и разложено по полочкам, вы большой молодец! Жду новых ваших видео, это очень вдохновляет. 😌
@oldcoders2 жыл бұрын
Отлично, очень рад! Пишите что хотелось бы увидеть, про что снять
@felix30ua2 жыл бұрын
олень, учиться нужно у людей, которые в этом разбираются - Бизли, Лутц, Свейгарт, Хеллман, а не у лоха в кепке!! А то "вырастешь", как этот уипан - нах никому не нужный))) зы читай книги, лентяй)
@_garik__2 жыл бұрын
Ура! Дед вернулся)))!
@oldcoders2 жыл бұрын
👴🤘
@random.user20222 жыл бұрын
Спасибо за крутое видео! Приятно наблюдать за решением конкретной задачи, а не какой-то абстрактной 🔥👍
@Fant10402 жыл бұрын
Обучение Python с нуля. Мой опыт - kzbin.info/www/bejne/gorbhqmfop2bopI
@averse27 Жыл бұрын
Мега полезно. Я много нового узнал из практики, а не только из теории, поэтому огромное спасибо за это видео
@denyes3422 жыл бұрын
Спасибо за реальный пример - так действительно понятнее зачем это всё!)
@PTolkachev2 жыл бұрын
Во втором цикле, когда нашли нужный файл можно было break добавить. Нужен же только один файл, зачем просматривать остальные, если уже нашли нужный? А ещё можно было не все файлы выбирать, а по маске "*_1.jpg".
@8888UNIVERSE8888 Жыл бұрын
А вы молодец, правда, очень хорошо, как настоящий учитель показываете по самым маленьким шагам как все делаете =) Я хоть и пишу на Питоне, но просто посмотреть как вы создаете программу было приятно.
@ВладимирОсадчий-р5о Жыл бұрын
Спасибо за полезное, увлекательное, понятное и познавательное видео. И за ссылку на бесплатный ознакомительный курс. 👍
@Fedor_life2 жыл бұрын
Чувак, ты меня вдохновляешь, капец как!!
@oldcoders2 жыл бұрын
😀 очень рад
@Роман-я1ш9ш2 жыл бұрын
Чувак, ты молодец! Смотрю тебя с самого начала!
@oldcoders2 жыл бұрын
Спасибо 🙌
@sashokkuzmenko78142 жыл бұрын
Дякую за відео, цікаво дивитись за вирішенням реальної задачі!
@АлсуХасанова-р4у Жыл бұрын
Сплошное удовольствие от познания нового ❤
@kekkekov57562 жыл бұрын
Рекомендую почитать доку по модулю pathlib и 428 пеп на него, для более удобного апи работы с фс. Ну и лучше, конечно, написать функцию, которая принимает путь до исходной папки и путь куда складывать готовы файлы, чтобы не менять глобальный стейт через os.chdir. Т.к потом наступишь на грабли при затаскивании такого кода в другой проект, где есть логика, подвязанная на рабочую директорию.
@oldcoders2 жыл бұрын
Спасибо!
@Steelglowhawk2 жыл бұрын
Отдельное спасибо за блок по использованию Debug. Теперь все будет ещё «профессиональнее» ).
@FxLikePro2 жыл бұрын
Поставил лайк за шикарный видеоролик. Мне понравилась не только логика мыслительного процесса при решении настоящей задачи, но и подход к ней. А, именно: 1. появление ошибки и её решение 2. тестирование на каждом шагу написания программы с плавным переходом на debugging (отладчик) 3. поиск той или иной функции Осталось только программу описать, чтобы не забыть для чего она написана. Я думаю, что для каждой такой программы следует делать теги для быстрого поиска подобных программ из огромного множества старых. Это как искать фотку из огромного количества. Продолжайте снимать видеоролики в том же духе! Успехов всем нам!
@oldcoders2 жыл бұрын
Спасибо! Да, можно в начале программы написать комментарий для чего она и тд
@mustafinabulhairc-0kn2862 жыл бұрын
Спасибо вам большое, что на самом деле показываете проекты и как это делается.
@olorin112 жыл бұрын
Очень круто видео, показывается логика разработки, спасибо. Это лучшее объяснение
@PaulCherepnin2 жыл бұрын
Ваш стиль подачи материала - 🔥 Можно кучу тренеров в онлайн школах программирования заменить вашим объяснением
Можно было обойтись без chdir, так как listdir принимает параметр path - та директория содержимое которой будем обходить. Плюс вместо try except, можно использовать os.path.isfile или os.path.isdir
@oldcoders2 жыл бұрын
Спасибо!
@user-Alex2482 жыл бұрын
Вот такой контент, само то что надо!
@АлександрА-я5э3ю2 жыл бұрын
Спасибо за видео!!! Действительно интересно наблюдать за решением реальной задачи.
@alexanderchebotariov72302 жыл бұрын
Спасибо за видео. Могу посоветовать вместо конкатенации использовать f-strings (f'some string value {some_variable_or_simple_code}'), как по мне, так удобнее. Или (конкретно под задачу с путями к папкам/файлам) os.path.join().
@oldcoders2 жыл бұрын
Спасибо!! Да!
@iamlexs2 жыл бұрын
для работы с путями файлов надо использовать pathlib, плюшек очень много
@AlexeyRiched2 жыл бұрын
просто бомбище! вдохновляешь безумно!
@АлексейЦиплин2 жыл бұрын
Рад видеть главного деда)))
@oldcoders2 жыл бұрын
Взаимно 🙌
@He1LBoy342 жыл бұрын
Спасибо! Очень крутой контент для начинающих разработчиков. Жду новых видео =)
@natisgecas57292 жыл бұрын
Glad to see you again. We need more videos like this one. Thanks for your job !
@oldcoders2 жыл бұрын
Will do!
@paleface_brother2 жыл бұрын
Большое спасибо! Нередко нужно работать именно с файлами и папками.
@Dark1611612 жыл бұрын
Очень чётко , респект. Продолжайте ваше дело 👍
@berrickd86532 жыл бұрын
Спасибо! Я как раз дед Нью би, учусь Пайтону и как раз сдал домашку по ос и начал изучать трай эксепт. Так что Ваш ролик зашёл в десятку. С нетерпением жду новых, дедомотивирующих роликов! До пенсии ещё далеко, спасибо Пенсионной реформе. Может ещё успею овладеть новой специальностью. Может хоть репетитором у школоты смогу устроиться
@oldcoders2 жыл бұрын
😀👌🤘
@cyclestart_youtube_sosi_drova2 жыл бұрын
Ну ты дед! Ну красава! Вдохновил меня наконец-то под свои нужды попитонить) На счёт деда это прикол, я сам тебя догоню через пару лет) изложил как надо, коротко и ясно, и весело 👍
@oldcoders2 жыл бұрын
Класс :)) 👍
@Troubleshooter539 Жыл бұрын
Автор ролика ты просто мой кумир. В 44 заморочился с обучением, а теперь делаешь людям добро. Удачи тебе и совет: Создавай свой курс!!! Желающих будет куча)))
@oldcoders Жыл бұрын
Спасибо!! А какой курс по вашему должен быть? Основы Питона - таких курсов много, бесплатных и хороших.
@ОльгаВ-ю9о2 жыл бұрын
Рада видеть!! Удачи!
@yuryradchenko60582 жыл бұрын
Я такую задачу решал без программирования, средствами Total Commander. Сначала с помощью Ctrl+B включал отображение всех файлов текущего каталога и подкаталогов в одну кучу. А потом просто с помощью регулярного вьіражения отфильтровьівал нужное и перемещал все в отдельную папку.
@russarRus Жыл бұрын
Спасибо, тезка, интересно рассказываешь)
@michaelmushers63682 жыл бұрын
Тоже год назад начал изучать питон, прям очень нравится, а как сел за свою первую программу то не мог оторваться. Прям на рабочем компе написал программу для проверки знаний для коллег. Спасибо большое за видосы. Кстати на iPhone мне учиться очень помогла и помогает программа pythonista даже pip пакеты туда можно ставить, рекомендую.
@nik01aich Жыл бұрын
продолжай, не останавливайся!
@Ievgenii662 жыл бұрын
Спасибо за видео! По возможности почаще выходи в эфир!
@oldcoders2 жыл бұрын
Вот сегодня новое видео вышло :)
@markertlogic2 жыл бұрын
Только знакомлюсь с темой, Ваши видео супер! Настолько это круто и интересно)
@pavelmelnik99522 жыл бұрын
Никак не связан с питоном и из любопытства посмотрел видео. Уж больно стало интересно как выглядит автоматизация на питоне. Видео понравилось, лайк, подписка. Если кого-нибудь захочу освоить питон, начну с вашего канала. А пока, буду смотреть все что Ютуб будет от вас предлагать. Приятно и понятно говорите.
@oldcoders2 жыл бұрын
Спасибо! 🙌
@KOLCHASIK Жыл бұрын
да, прекрасный метод подачи информации. спасибо!!
@igorratnik23572 жыл бұрын
Классно. Без лишней воды. Жирный вам лайк)))
@ЕлкаФ2 жыл бұрын
пришла посмотреть, что за программа для автоматизации рутины. Итог: наконец-то поняла как пользоваться дебагером. Спасибо
@АндрейНаговин Жыл бұрын
Братик, огромный респект тебе, начинаю потихоньку вникать в питон, надеюсь скоро брошу работу в такси!
@IvanPeshkoff2 жыл бұрын
Большое спасибо за Вашу работу. Мотивирует и дает дополнительные знания, расширяет кругозор.
@DaddyDenTV Жыл бұрын
Спасибо большое за урок. Голос очень приятный и все очень доходчиво.
@padreromario2 жыл бұрын
ну ты просто крут! молодчина! приятно посмотреть...
@mdbm5002 жыл бұрын
Спасибо. у меня бывают подобные задачи, попытался сам написать, но на бегу не получилось, отложил. я руками поиском искал нужные файлы и разносил их. Ура, долой рутину.
@magamedgeydarov16752 жыл бұрын
Огромное спасибо, очень круто получилось!!! Я в самом начале изучения и ваше видео очень наглядно показало возможность применения!
@МихаилСемерухин Жыл бұрын
Спасибо за видео)) Очень круто учить программирование на примерах!!
@oldcoders Жыл бұрын
Думаю скоро ещё одно видео из этой серии выпущу
@terehan882 жыл бұрын
Спасибо за видео! Было интересно посмотреть над реализацией программы для реальной задачи. P.S. Последний print в программе нужно было сделать после операции увеличения счётчика counter, тогда бы вывелись все 487 объектов в консоль, а не 486. Ну это так мелочи)) Ещё раз спасибо за видео!
@oldcoders2 жыл бұрын
Нет, там нумерация с 0 шла, поэтому 486 это нормально. Другое дело что надо было счётчик ставить когда скопировал файл, тогда бы конкретно были посчитаны количество файлов. А я поставил его сразу в начале цикла - просто считал количество элементов в списке , достаточно бесполезный счётчик получился 😀
@victormakovchik249 Жыл бұрын
Ещё можно в обработку номера папки перед созданием - добавить обработку пробелов, или заменить их на символ нуля, например.
@dmytrolinnik69382 жыл бұрын
Замечательное объяснение! Было очень интересно. Надеюсь будет ещё такое объяснение и применение в практике языка программирования. Лайк, подписка.
@_hugoru_2 жыл бұрын
Классно! Супер! Ты большой молодец, снимай еще
@ordinar0072 жыл бұрын
вы умничка. вдохновляете на большее)
@КонстантинГомзин Жыл бұрын
Как говорится : лучше полчаса потерять, потом за пять минут долететь...😂 А вообще, такое обучение, на наглядных и простых примерах самое лучшее обучение и лучше, чем кучу теорий пересмотреть
@vladislavby4657 Жыл бұрын
Четко, ясно и понятно. Ставлю лайк! И подписываюсь!
@oldcoders Жыл бұрын
Спасибо. Через пару дней выйдет еще одно видео из этой серии.
@user-xu9tb7oe2z2 жыл бұрын
Хороший пример!!! Как раз что оо подобное мне нужно сделать с огромным дампом файлов, попробую пайтон
@Sunwait-nsk2 жыл бұрын
Спасибо. Очень понятно, просто.
@soul.numero2 жыл бұрын
Потрясающе!!!! СПАСИБО, СПАСИБО ЗА ВИДЕО!!!!
@АнатолийСкитяев-р1о2 жыл бұрын
Программа сделана качественно, под конкретную задачу. Обычно же программисты пишут для многих пользователей. Только в этом и разница)) Но скрипт можно легко поправить, если у кого-то будет другой набор данных при аналогичной задаче. Так что - зачётно сделано. И объяснение на высоте. Как программист и преподаватель оцениваю данный ролик на 5+.
@oldcoders2 жыл бұрын
Спасибо!
@igtar39262 жыл бұрын
Выкладывайте пожалуйста исходный код, думаю многим было бы приятно его почитать самостоятельно после просмотра видео.
@oldcoders2 жыл бұрын
О, я думал программка маленькая, поэтому код итак весь на одном экране. Чего там смотреть :)
@ОльгаЖабко2 жыл бұрын
Огонь просто! Закончу учиться на Степике - пойду на Нетологию
@леонидагарков-ш7н2 жыл бұрын
Вы большой молодец, пожалуйста всегда продолжайте в том же духе, от просмотра получил большое удовлетворение, так что спасибо вам большое и всего самого наилучшего!!!
@oldcoders2 жыл бұрын
Спасибо
@rucat2842 жыл бұрын
В идеале конечно ещё обернуть в функции и добавить if __name__ == '__main__'. Так хотя бы новички будут сразу правильный код писать.
@АлександрЮшкин-о5о2 жыл бұрын
Недавно узнал про enumerate(). С его помощью счетчик создается: for counter, element in enumerate(list): тело цикла. Counter - индекс элемента element в list.
@galeot7112 Жыл бұрын
Ох как круто же это, вот так взять и что-то создать, тоже решил пойти на курсы Python в свои 35 годиков, так как учиться чему-то новому в наше время только плюс, сейчас ищу ноут))
@kirillsukharzheuski2 жыл бұрын
Красавчик!!! Четкий видос!
@АлмазМ-й4ф Жыл бұрын
требуем следующий части
@oldcoders Жыл бұрын
Есть видео из этой серии, python + excel
@Unitenok2 жыл бұрын
Супер!!! Благодарю. Как раз то что надо 👌
@ThePirateHistory2 жыл бұрын
Ну камон, при первых запроса типо пробижаться и собрать фото, выдает правильный код, в котором не нужно так грубо и ресурсоёмко использовать try except, а так изменение директории. А так же работа со строками, это ужас, сложно следить редактировать, ведь есть такие вещи как f стринги, легчайшие. Этот синтаксис уже так давно, лучше его использовать, качество кода моментом повышается, а так же читаемость, и редактируемость. Так же есть функции чтобы строить универсальный путь до файлов как os.path.join() пример: "os.path.join('newphotos', 'photo')" Так же при работе с файлами есть прекрасный метод который разобьёт весь путь файла универсально file.split(os.sep). Так же при работе с папками не нужно постоянно менять деректорию туда сюда чтобы создать папки, тем более папки в папках, для это есть функция os.makedirs(new_path_to_photo_folder, exist_ok=True) Вообщем вот код который собрал за минут 20 с написанием данного текста. Советую гуглить, множество вещей уже написано и написано правильно-оптимизировано, при этом кайф что ты что-то создал будет ещё больше, так как смотришь на код чистый красивый, прям настрое внизу живота появляется. pastebin . com / nPq7egRJ
@oldcoders2 жыл бұрын
Спасибо!! Очень круто. Но все таки совсем начинающему сложновато. Далеко от «простой человеческой» логики. А glob glob я вообще первый раз вижу 😵
@jurtaev19800082 жыл бұрын
Видос -просто бомба! Спасибо огромное!
@Bagdashka2 жыл бұрын
Можно ещё сделать, чтобы программа показывала текущую папку, выбор папки, и подтверждение операции.
@oldcoders2 жыл бұрын
Это уже усложнение программы, не особо нужно, а времени потрачу больше
@alekseychurikov36932 жыл бұрын
Спасибо за видео! Очень классно и понятно все!
@Mr.Shokoladniy2 жыл бұрын
Если так тебе делать приходится часто, то написать полноценную программу конечно стоит. Но я в основном сталкиваюсь с тем, что нужно выполнить подобную рутинную вещь 1 раз, в таких случаях я использую банальный автокликер. Для этой цели скрипт был бы написан не больше чем за 5 минут, выполнился бы раз в 50 дольше, но как по мне так логичнее
@powerquerypowerbi78082 жыл бұрын
спасибо большое за обучение, очень доступно !
@damienamfiet87572 жыл бұрын
в try...except блоке правильнее будет писать не pass, а continue.
@RenderDragon2 жыл бұрын
Давай ещё задачи на Codewars!
@oldcoders2 жыл бұрын
Будет
@los.vladdos8312 жыл бұрын
Отличное видео! На маке конечно быстрее было бы встроенным поисковиком это сделать, но в качестве тренировки - самое то!
@Roman-cp7im2 жыл бұрын
Сколько видосов смотрю)Но после этого реально все понял)Крут)))))
@sergioborussa2 жыл бұрын
Очень интересно! Спасибо!
@oldcoders2 жыл бұрын
Надеюсь пригодится :)
@сашапетров-и4ч2 жыл бұрын
В модуле os есть walk, как раз для таких случаев. Заходит во все папки и отбирает файлы.
@АлексейСоков-ь8и2 жыл бұрын
Обожаю такие ролики с программированием "файл менеджмента" 📁 Сам начал знакомство с Пайтоном именно на этой почве, потому что представлял, как результат можно применить на практике ⚙ Для себя подчерпнул: ✅ для копирования использовать "shutil" ✅ можно использовать "break", чтобы прогнать цикл 1 раз в тестовом режиме ✅ вместо "print" использовать debug-режим ✅ как вариант вместо "os.path.isdir" использовать связку "try... except..." Было бы интересно увидеть ролик в таком же "рутинном" формате о работе с Excel-файлами (например, как пробежаться по куче таблиц и точечно собрать из них информацию) 📗
@oldcoders2 жыл бұрын
Спасибо. Да, сам думаю что хорошо бы про Эксель снять, но нет блин реальной задачи на горизонте :) те программы что я использую - мной уже давно написаны :)
@АлексейСоков-ь8и2 жыл бұрын
@@oldcoders Ну да, тут весь смысл именно в ПРАКТИЧНОСТИ задачи... 😏 А что используете для работы с Excel через Пайтон? Я пока только про "OpenPyXL" слышал 🤔
@oldcoders2 жыл бұрын
Openpyxl, xlrd (они одинаковые, просто для разных файлов - xlsx и xls. И pandas часто пользуюсь, удобно загрузить в датафрейм всю таблицу и делать что хош.
@АлексейСоков-ь8и2 жыл бұрын
@@oldcoders Спасибо. Пока общаюсь с Excel только на VBA, и меня всё устраивает) Не представляю, чего нового сможет предложить Пайтон в этом плане, но интересно)
@oldcoders2 жыл бұрын
В плане обработки данных ничего нового не предложит, но зато можно выйти за границы дозволенного в VBA :) И передавать данные куда угодно и веб приложение сделать для этих данных и так далее
@суровый_Сибиряк Жыл бұрын
Я хотя и "дедушка" 50 лет 😀в программировании, сейчас учусь в нетологии на DS , только, что прошли материал. Так та я АСУТП шник. Мои шаги не уверенныев питоне, но приятно осознавать то, что я понимаю код, о чем речь. А так как я "ленивый" чел в хорошем смысле слова, то освою тоже питон👍
@arsenskavin130 Жыл бұрын
У меня года с 2006 остро стоит задача сортировки файлов в downloads и я постоянно дописываю нехитрый скриптик двигающий файлики по папочкам из года в год. Так мой скрипт переехал из обычного цикла со списками из listdir на os.walk(), которая немного сложнее но делает всё тоже самое только сразу создаёт и списки поддиректорий и файлов. Работать с ней немного сложнее потому что функция создаёт генераторы вместо списков, но кода получается меньше и работает она вроде как быстрее ручного обхода директорий через listdir. А после выхода 3.6 я начал постепенно переезжать на pathlib. Конкатенация путей файлов всегда меня настораживала и где только возможно я пользовал os.path.join() чтобы всё было правильно и я нигде не забыл слэш или ещё что-нибудь. Так вот, pathlib делает работу с путями культурнее и приятнее, когда разберёшься и привыкнешь, к тому же скрипт можно будет таскать с винды на линукс и обратно не переписывая, pathlib сам выберет слэши или бэкслеши для путей. Из нерешенного у меня остались штуки типа дубликатов файлов и директорий, и странные вылеты когда файлов очень много, а также что приходится придумывать сложный регекс для сортировки по директориям которые соответствуют категориям или тегам, например Wallpapers или Art. Один из последних релизов Питончика решил проблему с длиной путей... Вообщем, мой простой скриптик со временем превратился немного в комбайн, но в процессе я научился многим новым штукам, базовому рефакторингу, лаконичному коду и best practices. Короче: не используйте конкатенацию, используйте встроенные модули или проверенные библиотеки под конкретные задачи, делайте генераторы вместо списков для больших объёмов данных, не переусложняйте код и постоянно делайте проверки перед критическими операциями типа rmdir() и подобными.
@stas_v2 жыл бұрын
Шикарное видео! Спасибо большое!
@Tommy74172 жыл бұрын
Люблю реальне задачи, а оптимизировать рутину ещё больше
@СергейСабуров-р9ж2 жыл бұрын
общепринято использовать IF , когда TRY повторяет его действие. все же try - cоздавалось для других целей, нежели аналог IF. он нужен для работы над ошибками, которые возникают, для логирования и тп. не помyю есть ли это в PEP8 , но лучше когда проще - а проще это IF.
@ИльяБорщ-п6н2 жыл бұрын
Спасибо за видео! Мне, как новичку, было невероятно полезно.
@ДмитрийВасильев-щ3и2 жыл бұрын
Спасибо! Очень полезное видео!
@dronshaman2 жыл бұрын
Орнул. Для защиты нежной психики программистов, ошибки называются исключениями)))
@svvonline12 жыл бұрын
Ошибки и исключения - это не одно и то же.
@nikoleshlizinger5506 Жыл бұрын
ты просто гений, лучший туторил
@mazur_vg2 жыл бұрын
Очень интересное видео! Спасибо!
@СергейЩербаков-ю9л4щ2 жыл бұрын
Огонь! Удивительно, но ставлю лайк на рекламу ))) Являюсь одним из аспирантов на курсе «Python-разработка для начинающих» от Нетологии. И подтверждаю, в чате и на курсе очень много людей кому под 40, как и мне, и за 40. Стараемся помочь каждому познакомиться с их первым языком программирования Python. Приходите, мы вас ждём =) Пы.Сы. Сама программа тоже огонь! То что надо для новичков! - реальное применение Python. Просто, кратко, лаконично, и экономит уйму времени )))