Первая директория в 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
¿Que puede hacer este bot?
@EmailGateBot
EmailGateBot asigna una dirección de correo electrónico especial a los canales y grupos de Telegram y publica los mensajes enviados a este correo electrónico en ellos. EmailGateBot no requiere acceso a sus cuentas de correo electrónico. El bot no requiere derechos de administrador en grupos y es gratuito para uso personal.
Idiomas: inglés ruso
(Visto en @botsgram_cu)
#correo#notificaciones
¿Que puede hacer este bot?
@NoticeboardXBot
Utilizando este Bot, puede crear un mensaje de aviso o noticia en tu grupo que puede ser editado por cualquiera de los administradores
Idioma: inglés
(Visto en @botsgram_cu)
#notificaciones#noticias#grupos
¿Que puede hacer este bot?
@compexbot
Compex es un administrador de notificaciones financieras. Úselo para crear alertas para monedas criptográficas, fiduciarias y metales preciosos.
Idiomas: inglés
(Visto en @botsgram_cu)
#crypto#notificaciones#mercado
¿Que puede hacer este bot?
@crssbot
Este bot crea un feed RSS para su canal en Telegram.
Idiomas: inglés, ruso, portugués, alemán
(Visto en @botsgram_cu)
#rss#canales#notificaciones#feed
¿Que puede hacer este bot?
@ChannelUsersBot
Este bot te envía un mensaje cada vez que un usuario se une o sale de tu canal
Idiomas: inglés
(Visto en @botsgram_cu)
#canales#h#notificaciones#alertas
@BirthdayReminderBot
Qué puede hacer este bot?
Este bot recordará el cumpleaños de la gente en grupos y mucho más
Idioma: Inglés, Italiano
(visto en @BotsGram_cu)
#social, #birthday, #reminder, #alarm, #recordar, #notificaciones