Python Community
13.1K subscribers
1.24K photos
26 videos
15 files
711 links
Python Community RU - СНГ сообщество Python-разработчиков

Чат канала: @python_community_chat

Сотрудничество: @cyberJohnny и @Sergey_bzd

РКН реестр:
https://knd.gov.ru/license?id=67847dd98e552d6b54a511ed&registryType=bloggersPermission
Download Telegram
⚡️ Работаем с путями с помощью os.path

os.path — низкоуровневый модуль для работы с файловыми путями. Мы рекомендуем работать с ранее упомянутым pathlib, но os.path стоит упомянуть поскольку он довольно часто встречается в проектах.

join(path, *paths) — соединяет все аргументы в один путь. Стоит отметить, что в unix-подобных системах и в windows пути отличаются и это может создать множество проблем с переносом скрипта на разные платформы.

expanduser(path) — заменяет или user на папку с пользовательскими данными. В linux это переменная HOME, а в Windows — USERPROFILE.

Больший функционал можно просмотреть на сайте документации.

#миниурок #os
⚡️ Узнаём и используем информацию о файлах

os.stat возвращает информацию о файле в виде stat_result. Но есть одно но — с ней тяжело работать. Тут на помощь приходит модуль stat.

S_ISDIR(mode)
— позволяет узнать, является ли объект папкой (mode — это stat_result.st_mode).

S_ISREG(mode)
— позволяет узнать, является ли объект обычным файлом.

filemode(mode) — возвращает режим в виде прав доступа. Например: -rwxrwxrwx

Здесь собраны самые используемые методы, но подробнее о них можно узнать на сайте документации.

#миниурок #os #stat
⚡️ Работаем с окружением

Внутри операционной системы существуют некие переменные окружения. Самая популярная — PATH, её вы могли видеть при установке языка. Что они значат я рассказывать не буду, а вот как с ними работать — расскажу.

Для этого нам потребуется модуль os, а если быть конкретнее — os.environ (или os.environb) и os.getenv() (или os.getenvb()).

os.environ — словарь, внутри которого можно брать значения переменных по ключу. Если вам нужно их байтовое представление, воспользуйтесь os.environb.

os.getenv(key, default=None) — берёт значение по ключу из os.environ, а если ключа не существует, возвращает default. os.getenvb() возвращает данные из os.environb.

#миниурок #os
⚡️Создаём файловые пути

Если вы каким-то образом взаимодействуете с файлами в операционной системе, то вам необходимо создавать пути, что можно делать с помощью модуля os.path.

Вот парочка полезных функций из него:

join(path, *paths)
— объединяет все пути в один, используя разделитель, если необходимо.

expandvars(path) — заменяет имена переменных $NAME или ${NAME} на их значения. На ОС Windows разрешает использовать %NAME%.

expanduser(path) — заменяет такие компоненты как "~" или "~user" на директорию пользователя. На Linux это значение HOME, а на Windows — USERPROFILE или HOMEPATH + HOMEDRIVE.

Если вам что-то не понятно или же вам необходим больший функционал, то посетите страницу документации.

#миниурок #os
⚡️ Собираем информацию о системе

Для этого нам нужен модуль os. Он позволяет взаимодействовать с операционной системой прямо из Python.

os.uname() — возвращает информацию о системе: название, имя в сети, релиз ОС и её версию.

os.geteuid(), os.getgid() — возвращают id пользователя или группы, с которого запущен процесс. Работает только на Linux.

os.getlogin() — возвращает имя пользователя, работает на двух ОС.

os.environ — словарь с значением окружения. Для получения PATH используйте get_exec_path().

#миниурок #os