Python Glossary English

все Python 3Linux · macOSsysфункция

sys.setdlopenflags()

интерпретатор

Задаёт флаги dlopen() для следующих импортов модулей-расширений на C, например os.RTLD_GLOBAL. Только Unix (Linux, macOS).

Синтаксис

sys.setdlopenflags(n)

Флаги действуют только на модули, импортированные после вызова: уже загруженное расширение повторно не грузится. RTLD_GLOBAL открывает символы одного расширения другим, но рискует конфликтами имён между библиотеками. Верните старое значение сразу после нужного импорта. На Windows функции нет.

Примеры

import os, sys
old = sys.getdlopenflags()
sys.setdlopenflags(old | os.RTLD_GLOBAL)
print(bool(sys.getdlopenflags() & os.RTLD_GLOBAL))  # → True
sys.setdlopenflags(old)
print(sys.getdlopenflags() == old)  # → True

См. также

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