Первая директория в 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
#hikoya
Bo‘lgan gap
Kecha institutga hujjat topshirgani bordim. O‘sha yerda Dildorani uchratdim. Yuragimning tub-tubidagi ismsiz dardlar qayta bosh ko‘tardi, uch yil oldingi sirli-sehrli xotiralar tasavvurimda asta-sekin jonlandi.
Go‘yo yam-yashillikka, nurga ko‘milgan moviy diyorga tushib qolganday edim. Biroq to‘satdan turgan shiddatli shamol hamma narsani ag‘dar-to‘ntar qilib yubordi, menga uch asrday tuyulgan uch yil mobaynida asrab-avaylab yurgan tuyg‘u-xayollarim o‘t tushgan somon g‘aramidek lahzada yonib kul bo‘ldi. Ulardan alam-iztirob kuligina qoldi, xolos…
🔗batafsil
📱Telegram📱Instagram
📱Veb-sayt📱Facebook
Bu hikoyani tushunganimda va amalda qoʻllaganimda daromadimda oʻzgarishlar boʻlgan
Yuqoridagi hazil sifatida ulashilgan postdan keyin xabarlar kela boshlagani uchun bu postni yozishga qaror qildim. Quyidagi hikoyani diqqat bilan bir necha bor oʻqing:
... Ikki dehqon bugʻdoy ekishardi. Ikkalasi ham bir xil mehnat qilishadi, ter toʻkib ishlar ekan. Biroq ulardan biri unumsiz yerga ekib, arang noniga yetadigan hosil olarkan. Ikkinchisi esa unumdor yer topib, moʻl hosil oladi va yaxshi daromad qilarkan. Farq faqat shundaki: ikkinchisi qayerda ekishni bilardi.
Bu hayotning har sohasiga tegishli, xatto, dizaynga ham. Koʻp dizaynerlar tinmay ishlashadi, lekin baʼzilari kuchini toʻgʻri yoʻnaltirib, boshqalardan bir necha barobar koʻproq daromad qiladi. Bu yerda tajriba boʻlishi yoki boʻlmasligini ahamiyati yoʻq...
— Yaʼniki, mehnatning oʻzi yetarli emas, muhimi, qayerda va qanday yoʻnalishda mehnat qilishdir.
Shu joyda toʻxtab oʻylab koʻring. Sizchi toʻgʻri joyda ekayapsizmi?
@suxrobblog
#hikoya#karyera#daromad