Ce face sys.getdlopenflags() și sys.setdlopenflags()
Modulele de extensie (fișiere .so) se încarcă prin apelul de sistem dlopen(). Aceste funcții citesc și setează flag-urile lui: os.RTLD_NOW, os.RTLD_LAZY, os.RTLD_GLOBAL (simbolurile devin vizibile pentru alte biblioteci) etc. Sunt necesare rar, de obicei pentru biblioteci științifice care împart simboluri între extensii.
Parametri
| Parametru | Descriere |
|---|---|
flaguri |
Combinație de constante os.RTLD_*. |
Ce returnează
getdlopenflags: întreg.
Exemple
Exemplul 1: Flag-urile curente
import sys, os
vechi = sys.getdlopenflags()
print(vechi == os.RTLD_NOW)
sys.setdlopenflags(os.RTLD_NOW | os.RTLD_GLOBAL)
print(sys.getdlopenflags() == os.RTLD_NOW | os.RTLD_GLOBAL)
sys.setdlopenflags(vechi)
Rezultat
True
True
Greșeli frecvente
- Setezi flag-urile după ce extensia a fost deja importată; nu au efect asupra modulelor încărcate.
Comenzi înrudite
sys.modules: Dicționarul tuturor modulelor deja încărcate, folosit ca memorie a importurilor.import / from ... import: Încarcă un modul (din biblioteca standard, instalat sau scris de tine) ca să îi folosești funcțiile.