Первая директория в 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
STRASBOURG
ℹ️Conférence « DONBASS, 10 ans de guerre »
🗓️25 juin 2023
🕕18h
organisée par Cercle Mercure
Animée par Anna Novikova
Suivie par un film en avant-première
« Marioupol connexion » (sous-titré en français)
Plus d’infos/[email protected]
#donbass#sosdonbass#conference#strasbourg
France Ligue 1🇫🇷
2026-05-13 17:00 UTC
Stade Brestois 29 vs. Strasbourg
Predicted outcome: Strasbourg✅
Predicted score: 2:3
Actual: Strasbourg 1:2
#StadeBrestois29#Strasbourg
2026-05-13 19:00 UTC
Lens vs. Paris Saint Germain
Predicted outcome: Paris Saint Germain✅
Predicted score: 1:2
Actual: Paris Saint Germain 0:2
#Lens#PSG
#Football#FranceLigue1
France Ligue 1🇫🇷
2026-04-19 13:00 UTC
Monaco vs. Auxerre
Predicted outcome: Monaco❌
Predicted score: 2:1
Actual: Draw 2:2
#Monaco#Auxerre
2026-04-19 15:15 UTC
Nantes vs. Stade Brestois 29
Predicted outcome: Draw✅
Predicted score: 1:1
Actual: Draw 1:1
#Nantes#StadeBrestois29
2026-04-19 15:15 UTC
Strasbourg vs. Rennes
Predicted outcome: Draw❌
Predicted score: 2:2
Actual: Rennes 0:3
#Strasbourg#Rennes
2026-04-19 15:15 UTC
Metz vs. Paris FC
Predicted outcome: Draw❌
Predicted score: 1:1
Actual: Paris FC 1:3
#Metz#ParisFC
2026-04-19 18:45 UTC
Paris Saint Germain vs. Lyon
Predicted outcome: Paris Saint Germain❌
Predicted score: 2:1
Actual: Lyon 1:2
#PSG#Lyon
#Football#FranceLigue1
France Ligue 1🇫🇷
2026-05-03 13:00 UTC
Lille vs. Le Havre
Predicted outcome: Lille❌
Predicted score: 1:0
Actual: Draw 1:1
#Lille#LEHavre
2026-05-03 15:15 UTC
Strasbourg vs. Toulouse
Predicted outcome: Strasbourg❌
Predicted score: 2:1
Actual: Toulouse 1:2
#Strasbourg#Toulouse
2026-05-03 15:15 UTC
Auxerre vs. Angers
Predicted outcome: Auxerre✅
Predicted score: 2:1
Actual: Auxerre 3:1
#Auxerre#Angers
2026-05-03 15:15 UTC
Paris FC vs. Stade Brestois 29
Predicted outcome: Paris FC✅
Predicted score: 2:1
Actual: Paris FC 4:0
#ParisFC#StadeBrestois29
2026-05-03 18:45 UTC
Lyon vs. Rennes
Predicted outcome: Lyon✅
Predicted score: 3:2
Actual: Lyon 4:2
#Lyon#Rennes
#Football#FranceLigue1
France Ligue 1🇫🇷
2026-05-10 19:00 UTC
Angers vs. Strasbourg
Predicted outcome: Strasbourg❌
Predicted score: 1:2
Actual: Draw 1:1
#Angers#Strasbourg
2026-05-10 19:00 UTC
Paris Saint Germain vs. Stade Brestois 29
Predicted outcome: Paris Saint Germain✅
Predicted score: 3:1
Actual: Paris Saint Germain 1:0
#PSG#StadeBrestois29
2026-05-10 19:00 UTC
Monaco vs. Lille
Predicted outcome: Lille✅
Predicted score: 1:2
Actual: Lille 0:1
#Monaco#Lille
2026-05-10 19:00 UTC
Rennes vs. Paris FC
Predicted outcome: Rennes✅
Predicted score: 2:1
Actual: Rennes 2:1
#Rennes#ParisFC
2026-05-10 19:00 UTC
Toulouse vs. Lyon
Predicted outcome: Lyon❌
Predicted score: 1:2
Actual: Toulouse 2:1
#Toulouse#Lyon
2026-05-10 19:00 UTC
Auxerre vs. Nice
Predicted outcome: Auxerre✅
Predicted score: 2:1
Actual: Auxerre 2:1
#Auxerre#Nice
2026-05-10 19:00 UTC
Le Havre vs. Marseille
Predicted outcome: Le Havre❌
Predicted score: 2:1
Actual: Marseille 0:1
#LEHavre#Marseille
2026-05-10 19:00 UTC
Metz vs. Lorient
Predicted outcome: Lorient✅
Predicted score: 1:2
Actual: Lorient 0:4
#Metz#Lorient
#Football#FranceLigue1