Первая директория в 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
RsS iS dEaD LOL: discover RSS Feeds of your follows on Mastodon
频道曾经提及过一个叫 FeedsMage 的服务,用于从你 fo 的推友的 Bio 里找链接,再从链接里找 Feed ,最后可生成一个 #OPML 文件。RsS iS dEaD LOL 则是长毛象版的 FeedsMage,从你 fo 的 Fediverse 用户的 Bio 里找链接,发现 RSS,然后可生成 #OPML:
https://rss-is-dead.lol/
例如我的:
https://rss-is-dead.lol/user?profileUrl=https%3A%2F%2Fmastodon.social%2Fusers%2FAboutRSS
发现于作者嘟文:
https://mastodon.social/@paulcuth/112178886374464145