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Сообщить о неточности