Python Glossary English

Python 3.2+Linux · macOSosфункция

os.getenvb

os — окружение

Как getenv, но ключ и значение — байты (bytes); только для Unix. Доступно на Unix.

Синтаксис

os.getenvb(...)

Нужна, когда значение переменной не декодируется в кодировке файловой системы, например путь в чужой кодировке. Работает поверх os.environb и доступна только там, где os.supports_bytes_environ истинно — на Windows её нет. В обычном коде достаточно os.getenv: на Unix недекодируемые байты сохраняются суррогатами.

Примеры

import os
print(os.supports_bytes_environ)   # → ? True на Unix (там есть getenvb), False на Windows
os.environb[b'GLOSSARY_DEMO'] = b'42'   # → ? только Unix: кладём переменную в байтовое окружение
print(os.getenvb(b'GLOSSARY_DEMO'))   # → b'42' — и ключ, и значение остаются bytes
print(os.getenvb(b'GLOSSARY_NO_SUCH', b'fallback'))   # → b'fallback' — второй аргумент это значение по умолчанию
print(os.getenvb('GLOSSARY_DEMO'))   # → TypeError — str-ключ не подходит, для строк есть os.getenv

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности