Первая директория в 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
⚽️Cristiano Ronaldo
Cristiano Ronaldo llegó a 900 goles en su carrera#Ronaldo
El atacante portugués Cristiano Ronaldo celebró el gol 900 de su carrera, tras empalmar un balón dentro del área chica para poner el 2 a 0 en el duelo que disputaba Portugal contra Croacia por la primera fecha de la Liga de las Naciones de la UEFA 2024.
https://cnnespanol.cnn.com/video/cristiano-ronaldo-llego-900-goles-carrera-futbol-deportes-tv/
🏆@Info288_deportes
🇺🇸Le président Trump a qualifié Cristiano Ronaldo de plus grand footballeur de l’histoire et l’a invité aux États-Unis
"Ronaldo, tu es le plus grand joueur de tous les temps, nous avons besoin de toi en Amérique. Mets-toi en route immédiatement, nous avons urgemment besoin de toi."
#trump#ronaldo