Первая директория в 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
✅Экспорт мед. изделий. Возможности сегодня✅
Многие из вас ждали вебинар, который осветит реальную картину происходящего в сфере производства медицинских изделий.
13 октября в 14:00 (по Москве) наши эксперты в ходе бесплатного вебинара расскажут о том, какие географические направления открыты российским экспортерам мед. изделий сейчас.
Ключевые темы вебинара:
1️⃣. Европейская сертификации по регламенту MDR EU 2017/745 (СЕ маркировка)
2️⃣. Сертификаты по стандарту ISO 13485:2016 «Изделия медицинские. Системы менеджмента качества. Требования к регулированию»
3️⃣. Возможности Группы компании Haensch для экспортеров медицинских изделий
4️⃣.Вопросы-ответы. Обсуждение.
Ссылка на регистрацию:https://haensch.timepad.ru/event/2186255/?utm_refcode=8f99a857cdcba99b7efa0fd64515b6d5fa30495f)#register
“President Tech Award” tanlovining bootcamp bosqichi “Yangi O‘zbekiston” universitetida o‘tkaziladi!
🐦Bootcamp “President Tech Award” tanlovining muhim qismi bo‘lib, ishtirokchilarga o‘z loyiha g‘oyalarini ishlab chiqish hamda kengaytirish uchun platforma taqdim etadi.
📨Ro'yxatdan o'tish
✅Ushbu tadbir yangi aloqalar oʻrnatish, startap sohasida mutaxassislar, murabbiylar va muvaffaqiyatli tadbirkorlardan qimmatli bilim va yordam olish imkonini beradi.
📅8-avgust Toshkentda, 10-avgust Samarqandda, 12-avgust Farg‘onada.
🤝 KOICA, Gyeongbuk texnoparki, “Yangi O‘zbekiston” universiteti.
🗣 Koreyadan kelgan mutaxassislar va mamlakatdagi yirik startaplar.
🔁English
➖➖➖➖➖➖➖➖➖➖➖➖➖➖
#presidenttechaward#bootcamp#register
⬇️ Biz ijtimoiy tarmoqlarda:
Veb-sayt | Telegram | Instagram | Facebook
https://docs.python.org/3/library/atexit.html
The #atexit module defines #functions to #register and #unregister cleanup functions. Functions thus registered are automatically executed upon normal interpreter termination. atexit runs these functions in the reverse order in which they were registered; if you register A, B, and C, at #interpreter#termination time they will be run in the order C, B, A.