Первая директория в 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
Сегодня заметил интересную цифру в профиле. Нас стало 10 000.
Честно говоря, для меня это первый серьезный психологический барьер. Кто бы мог подумать, что столько людей добровольно подпишется на то, чтобы читать мои порой язвительные заметки, изучать узбекский язык без «сахара» и смотреть правде в глаза, какой бы неудобной она ни была?
Видимо, скептицизм и тяга к знаниям все-таки заразны. Или вам просто нравится наблюдать, как я ворчу на несправедливость и коверкание языка. В любом случае, я рад, что мы собрали в Фэйсбуке аудиторию думающих людей.
Спасибо, что читаете, спорите и учитесь. Идем к следующему барьеру.
P.S. Кстати, обратите внимание на число моих подписок рядом — 666. Идеальный баланс, я считаю. 😏
#SkeptikBek#10k#УзбекскийЯзык#МыслиВслух#БекзодРустамбеков
t.me/skeptikbek
#Nature#Tiger#10k#Painting#mobile#India#animals#wild
Preview HD
Fact:
India is home to an estimated 3,682 wild tigers, accounting for approximately 75% of the whole world's wild tiger population.
High res wallpaper loading... (1min remaining)
#Indian#India#14k#10k#women#Portrait#Mobile#PC#Tab#Traditional_Attire
• Introducing the Highest Quality Wallpaper of this Channel.
- 275 Million Pixels, takes space of 336MB
- Can be used for PC, Mobile, Tablet or Advertisement banners.
Download
Search terms:
#nature#scenery#immersive#landscape#rollinghills#countryside#tuscany#greenery#peaceful#wallpaper#aesthetic#rural#sunlight#windingroad#farmhouse#10k#Mobile#Desktop#Tab
Preview HD
An idyllic, high-angle landscape featuring sun-drenched rolling green hills and a winding path leading to a rustic stone farmhouse.
Download
🥰
Search terms:
#porsche #gt3rs #supercar #autumn #fallvibes #graffiti #matteblack
#redandgrey #streetphotography #abandoned #carwallpaper #automotive#moody #leaves#mobile#10k#car#porsche911#highres
Preview HD
A high-performance Porsche 911 GT3 RS with matte grey and red accents, staged in a moody, industrial setting filled with autumn leaves.
High res wallpaper loading... (1min remaining)