Спасибо. Сам недавно долго мучался с окружением cron при запуске скрипта python. Даже если запускать скрипт по абсолютным путям, то скрипт не отрабатывал из-за того, что при импорте своих модулей и работе с файлами, лежащими в каталоге скрипта, оный их не мог найти. Заработала связка команд * * * * * * cd /path/to/script && scriptname.py
Интересное применение. Пытаюсь запустить notify-send на VPS Ubuntu 20 и получаю Cannot autolaunch D-Bus without X11 $DISPLAY. Что за фигня. Дисплей нужен?
Доброй ночи Олег! Спасибо за видео: классно объясняешь. Такой вопрос: при установке любого модуля через pip он постоянно выводит строки с рекомендацией по его апдейту. Оно нужно? Что то нужнее, интереснее удобнее будет после обновления - или наоборот может поломать что то из работающих уже вещей? Есть смысл обновить?
Ваш скрипт не всегда будет работать. Стрелочка вверх не всегда будет стрелочкой вверх. Лучше было бы использовать тот самый пробел, который не пробел. Тогда и направление курса сразу видели бы в уведомлении.
необходимо установить пакет Atom Runner в самом атоме. Вкладка "Edit" >> "Preferences">>"+Install" и там найти "Atom-runner" и установить. Потом через сочетание "Alt+R" можно выполнить скрипт.
Я бы смотрел в hex выводе. Например echo '↑' | hd говорит, что стрелка кодируется байтами e2 86 91 0a (0a отбрасываем, т.к. это перевод строки). Т.е. в Питоне это было бы '\xe2\x86\x91'.
как я понял стрелка вниз означает падение курса, т.е. при повышении курса мы не сможем просплитить. сделал вот так - result=t[-8:] есть ли в этом ошибка?
проблема в том, что я не помню какое значение было у переменной t. Все мои видео - это демонстрация принципа. Не нравится стрелочка, как критерий деления? Придумайте другой. Но ваш код выглядит ужасно. Скорее всего есть другой, более очевидный путь.
@@zaemiel так я по вашим видео учусь) поэтому код ужасен) Если серьезно все очень доходчиво и смотрю все ваши видео. Мы с сайта цетробанка получаем строку "курс доллара +стрелочка +значение" вы предлагаете сплитить по стрелочке , а я пытаюсь сказать, что стрелочка может быть как вверх так и вниз. В следующий раз просто промолчу если вы это расцениваете как оскорбление
я имею в виду, что конструкция: result=t[-8:] чудовищна. Вы так и не ответили на мой вопрос. Какая там была строка... Пришлось лезть и смотреть. Строка вида: "руб. ^63,123" Элементарно сплитится по пробелу. Затем берется первый элемент списка и из него берутся все символы кроме первого. result = s.split(' ')[-1][1:] В видео я просто показал, как можно узнать код спецсимвола. Ужасно.
А у меня после использования сплит ошибка и не могу понять что не так UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 0: ordinal not in range(128)
Спасибо за подсказку, посмотрю и попробую исправить. Изначально виндовс 10 но промучился с этой ошибкой и установил линукс Убунту 16.04 в итоге ошибка осталась и не могу понять как ее решить.
ммм... локаль выглядит нормально. Попробуйте добавить в самое начала файла .bashrc вот эту строку: export LC_ALL="ru_UA.UTF-8" .bashrc находятся в вашей домашней папке. Это скрытый файл. Чтобы его подредактировать можно воспользоваться редактором nano: sudo nano ~/.bashrc не забудьте потом перезапустить .bashrc source ~/.bashrc
Единственное что, эта стрелочка может быть и вниз, тогда сплит не сработает, но это так, к словцу.
Спасибон.Только не бросай канал, очень помогают твои скринКасты.
Спасибо большое, не знал о Display, теперь всё заработало
Ваше видео помогло решить задачу. Спасибо!
смотрю в марте 2022, плачу над курсом
Спасибо! Как всегда всё интересно и доходчиво разъяснено.
Спасибо. Сам недавно долго мучался с окружением cron при запуске скрипта python. Даже если запускать скрипт по абсолютным путям, то скрипт не отрабатывал из-за того, что при импорте своих модулей и работе с файлами, лежащими в каталоге скрипта, оный их не мог найти. Заработала связка команд * * * * * * cd /path/to/script && scriptname.py
спасибо за видео, как всегда огонь !
Кто бы мог подумать но из этого видоса я узнал как подключившись через ssh запустить что-то на экране пациента)
Спасибо за tutorial. +
Для новичка все понятно, спасибо!
Четкий парень и четкие уроки
Интересное применение. Пытаюсь запустить notify-send на VPS Ubuntu 20 и получаю Cannot autolaunch D-Bus without X11 $DISPLAY. Что за фигня. Дисплей нужен?
Огромное спасибо!!
Как запускать скрипт через cron, если стоит виртуальное окружение venv?
Доброй ночи Олег! Спасибо за видео: классно объясняешь. Такой вопрос: при установке любого модуля через pip он постоянно выводит строки с рекомендацией по его апдейту. Оно нужно? Что то нужнее, интереснее удобнее будет после обновления - или наоборот может поломать что то из работающих уже вещей? Есть смысл обновить?
Ну, обновите. Я обновил и все нормально. Работает как и раньше
Спасибо! Жаль сразу не увидел это видео, не знал про права..
Олег, в чем принципиальная разница subprocess.check_output() и os.system() ? Помимо того, что первый возвращает stdin
Спасибо.
спасибо
Ваш скрипт не всегда будет работать. Стрелочка вверх не всегда будет стрелочкой вверх. Лучше было бы использовать тот самый пробел, который не пробел. Тогда и направление курса сразу видели бы в уведомлении.
да не важно все это.
Это просто демонстрация принципа не более.
✔
два видео глянул, как работать с crontab не понял.
Поделитесь ссылкой или опишите как запускать файлы *.py в Atom Runner в правой части, спасибо!
необходимо установить пакет Atom Runner в самом атоме. Вкладка "Edit" >> "Preferences">>"+Install" и там найти "Atom-runner" и установить. Потом через сочетание "Alt+R" можно выполнить скрипт.
забыли про - ord("символ")
не уверен, что это помогло бы при сплите строки
ну там когда код символа посмотреть нужно было
ord() возвращает совсем не тот код
Я бы смотрел в hex выводе. Например echo '↑' | hd говорит, что стрелка кодируется байтами e2 86 91 0a (0a отбрасываем, т.к. это перевод строки). Т.е. в Питоне это было бы '\xe2\x86\x91'.
как я понял стрелка вниз означает падение курса, т.е. при повышении курса мы не сможем просплитить. сделал вот так - result=t[-8:] есть ли в этом ошибка?
напомните, плиз, какую строку вы не можете просплитить?
@@zaemiel переменная t вы ее просплитили по стрелочке. А если это будет не стрелка вверх а стрелка вниз
проблема в том, что я не помню какое значение было у переменной t.
Все мои видео - это демонстрация принципа. Не нравится стрелочка, как критерий деления? Придумайте другой. Но ваш код выглядит ужасно. Скорее всего есть другой, более очевидный путь.
@@zaemiel так я по вашим видео учусь) поэтому код ужасен) Если серьезно все очень доходчиво и смотрю все ваши видео.
Мы с сайта цетробанка получаем строку "курс доллара +стрелочка +значение" вы предлагаете сплитить по стрелочке , а я пытаюсь сказать, что стрелочка может быть как вверх так и вниз. В следующий раз просто промолчу если вы это расцениваете как оскорбление
я имею в виду, что конструкция:
result=t[-8:]
чудовищна.
Вы так и не ответили на мой вопрос. Какая там была строка... Пришлось лезть и смотреть. Строка вида:
"руб. ^63,123"
Элементарно сплитится по пробелу. Затем берется первый элемент списка и из него берутся все символы кроме первого.
result = s.split(' ')[-1][1:]
В видео я просто показал, как можно узнать код спецсимвола. Ужасно.
А у меня после использования сплит ошибка и не могу понять что не так UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 0: ordinal not in range(128)
p-notes.ru/
Там есть раздел FAQ внизу и там я объяснил как мог, что с этим можно сделать.
Кстати, какой ОС вы пользуетесь?
Спасибо за подсказку, посмотрю и попробую исправить. Изначально виндовс 10 но промучился с этой ошибкой и установил линукс Убунту 16.04 в итоге ошибка осталась и не могу понять как ее решить.
Что вам команда locale выводит?
Вот
LANG=ru_UA.UTF-8
LANGUAGE=ru_UA:ru
LC_CTYPE="ru_UA.UTF-8"
LC_NUMERIC="ru_UA.UTF-8"
LC_TIME="ru_UA.UTF-8"
LC_COLLATE="ru_UA.UTF-8"
LC_MONETARY="ru_UA.UTF-8"
LC_MESSAGES="ru_UA.UTF-8"
LC_PAPER="ru_UA.UTF-8"
LC_NAME="ru_UA.UTF-8"
LC_ADDRESS="ru_UA.UTF-8"
LC_TELEPHONE="ru_UA.UTF-8"
LC_MEASUREMENT="ru_UA.UTF-8"
LC_IDENTIFICATION="ru_UA.UTF-8"
LC_ALL=
ммм... локаль выглядит нормально.
Попробуйте добавить в самое начала файла .bashrc
вот эту строку:
export LC_ALL="ru_UA.UTF-8"
.bashrc находятся в вашей домашней папке. Это скрытый файл. Чтобы его подредактировать можно воспользоваться редактором nano:
sudo nano ~/.bashrc
не забудьте потом перезапустить .bashrc
source ~/.bashrc
Не хило...
огонь беспорно