Бывает начинающие в процессе обучения создают файлы с именем модуля который они изучают. В результате на тестовых запусках ничего не работает😱
Всё потому, что появилась коллизия имён. Например, изучаете вы модуль datetime, и создаёте с таким именем файл (ну логично же😄) прямо в рабочей директории.
Потом, при попытке импортировать datetime модуль, из-за приоритета импорта будет импортирован файл из рабочий директории а не оригинальная библиотека. Ведь имя файла это суть имя модуля!
А знаете ли вы, что не все стандартные модули можно так перезаписать? Коллизии имён не подвержены builtin модули. Они всегда стоят на первом месте в приоритете импорта, поэтому их нельзя заменить.
Полный список таких модулей можно посмотреть в списке sys.builtin_module_names.
То есть, вы сломаете весь Python если назовёте свой модуль os или site, но если назовёте time или gc то ничего страшного не случится)))
Тем не менее, никогда не называйте модули уже занятыми именами!!!⚠️
Я всегда рекомендую всем своим файлам делать именной префикс из 2-3 символов. Например я называю свои проекты так:
pw_project_name
pw_ui_tools.py
pw_something/main.py
Либо под ситуацию
tst_scriptname.py
(не "test" чтобы не подхватывал pytest)
dbg_script.py
maya_ui.py
hou_menu_tools.py
И искать проще, и коллизий нет.
#tricks#basic
• Весьма любопытный tui тренажёр для обучения основам работы в терминале. Содержит около 70 заданий, которые вам предстоит решить. Проходить увлекательно и полезно, так что рекомендую для самообразования и получения необходимого опыта.
➡️https://github.com/learnbyexample/TUI-apps
• Кстати, у автора есть ещё несколько tui программ, с помощью которых можно потренироваться в работе с awk, grep, sed и регулярками...
#CLI#Linux
• the art of command line - невероятно полезный гайд по использованию командной строки в Linux, к которому приложили руку множество авторов и переводчиков. Еще здесь есть разделы про Windows и macOS, а также универсальные советы, применимые для операционных систем на базе UNIX. Подходит как для новичков, так и для опытных специалистов. Гайд опубликован на разных языках, включая русский.
➡Описание;
➡Основы;
➡Ежедневное использование;
➡Процессинг файлов и информации;
➡Системный дебаггинг;
➡В одну строчку;
➡Сложно, но полезно;
➡MacOS only;
➡Windows only;
➡Больше информации по теме;
➡Дисклеймер.
➡️https://github.com/jlevy/the-art-of-command-line
#Linux#CLI
#CLI#GitHub
🎫 lsd:下一代 ls 命令继承人
GitHub | Installation
古老而必备的命令 ls 伴随着我们使用 Linux 的整个过程,很多开发者都希望或直接尝试让 ls 拥有更多的功能,这其中就有相对知名的 colorls 项目:用 Ruby 实现的 ls 命令高亮与图表显示。
Ruby 毕竟是脚本语言,性能堪忧。这里我们介绍的 lsd,即为用更加底层的静态语言 Rust 编写的高性能 ls 替代,拥有 ls 的几乎所有功能和速度,也拥有 colorls 的漂亮颜色和图标。推荐大家替换安装。
alias ls="lsd"
📮 Via channel: @realSpencerWoo