Первая директория в sys.path
🔸 Когда вы запускаете Python-интерпретатор в интерактивном режиме, в системные пути (sys.path) в самое начало добавляется текущая рабочая директория
>>> for path in sys.path:
... print(f'"{path}"')
""
"/usr/lib/python37.zip"
"/usr/lib/python3.7"
...
Первая строка пустая, что и означает текущую рабочую директорию.
🔸 Если вы запускаете интерпретатор передавая скрипт как аргумент, то история получается иная. На первом месте будет директория в которой располагается скрипт. А текущая рабочая директория игнорируется.
Пишем скрипт с таким содержанием:
# script.py
import sys
for path in sys.path:
print(f'"{path}"')
Запускаем
python3 /home/user/dev/script.py
Получаем
"/home/user/dev"
"/usr/lib/python37.zip"
"/usr/lib/python3.7"
...
🔸 Если вы запускаете скрипт по имени модуля то на первом месте будет домашняя директория текущего юзера
python3 -m script
"/home/user"
"/usr/lib/python37.zip"
"/usr/lib/python3.7"
...
Скрипт должен быть доступен для импорта
На что это влияет?
На видимость модулей для импорта. Если вы ждёте, что, запустив скрипт по пути, сможете импортировать модули из текущей рабочей директории, то вы ошибаетесь. Придётся добавлять путь os.getcwd() в sys.path самостоятельно или заранее объявлять переменную PYTHONPATH.
#basic
7zip[.]com竟然是黑客搭建的钓鱼网站 安装代理软件把用户系统当肉鸡中转流量
1999年就注册的顶级域名 7zip [.] com 竟然被用来投放恶意软件,目前尚不清楚黑客买下该域名还是通过某种方式控制了该域名。安全公司发现这个域名冒充 7-Zip 并分发带毒版本,而黑客目的则是代理 IP 池,即释放恶意软件用来中转流量,让第三方可以通过受害者的家宽 IP 路由流量
标签:#7zip
Created by RocM
官方频道:@rocCHL
官方群组:@roctech
官方合作:@rocmmbot