Первая директория в 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
Год назад одно казахстанское интернет-издание выпустило материал с конкретным заголовком: "Строительство АЭС в Казахстане: как вывести из игры "Росатом"? Подобных материалов про американских, французских и прочих подрядчиков до сих пор нет. Что уже наводит на подозрения разного рода. Например, кому-то очень нужно, чтобы АЭС не строил "Росатом".
Но кому? Чтобы ответить на этот вопрос, вспомним недавнее прошлое. В 2017 году японская компания Toshiba купила одного из главных конкурентов "Росатома" - обанкротившуюся американскую компанию Westinghouse Electric. Японской компанией WE была недолго: в апреле 2018 года ее выкупил холдинг из Канады Brookfield Business Partners (BBP).
Теперь конкурентом российских атомщиков является "дочка" BBP — компания Brookfield Infrastructure (BI). Другой главный конкурент "Росатома" - французская компания Orano (бывшая Areva).
В том же 2018 году произошла еще одна любопытная сделка.
Подробности на сайте cronos.asia
#АЭС
#Росатом
#BBP
#Казахстан