This library offers concise manners to modify list sys.path. The user should not need to directly interact with that list.
Project description
FRANÇAIS
Cette bibliothèque offre des manières concises de modifier la liste sys.path.
L'utilisateur ne devrait pas avoir besoin d'interagir directement avec cette
liste.
Contenu
Les fonctions suivantes prennent un chemin de type str ou pathlib.Path
comme argument. Elles convertissent les arguments de type pathlib.Path en
str puisque sys.path n'est censée contenir que des chaînes de caractères.
sp_appendajoute le chemin donné à la fin desys.path.sp_containsindique sisys.pathcontient le chemin donné.sp_prependajoute le chemin donné au début desys.path.sp_removeenlève le chemin donné desys.path.
Au moment de sa création, une instance de SysPathBundle contient plusieurs
chemins et les ajoute au début de sys.path. Quand on vide (clear) une
instance, elle efface son contenu et l'enlève de sys.path. Ainsi, cette
classe facilite l'ajout et le retrait d'un groupe de chemins.
Il est possible d'utiliser SysPathBundle comme un gestionnaire de contexte
(context manager). Dans ce cas, l'instance est vidée à la fin du bloc with.
La fonction sm_contains prend comme argument un nom (str) de module. Elle
indique si le dictionnaire sys.modules contient ce module.
Pour plus d'informations, consultez la documentation et les démos dans le dépôt de code source.
Importations et sys.path
Il est possible d'importer un module si la liste sys.path contient le chemin
de son dossier parent. On peut donc rendre un module importable en ajoutant son
chemin parent à sys.path.
Importations et sys.modules
Le dictionnaire sys.modules associe des noms (str) de module au module
correspondant. Le système d'importation l'utilise comme cache; tout module
importé pour la première fois y est conservé. Puisque le système d'importation
cherche d'abord les modules demandés dans sys.modules, les modules qu'il
contient peuvent être importés partout sans qu'on modifie sys.path.
Sachant cela, on peut déterminer à l'aide de la fonction sm_contains si un
module est déjà importable. Si sm_contains renvoie vrai (True), il n'est
pas nécessaire de modifier sys.path pour importer le module donné.
ENGLISH
This library offers concise manners to modify list sys.path.
The user should not need to directly interact with that list.
Content
The following functions take a path of type str or pathlib.Path as an
argument. They convert arguments of type pathlib.Path to str since
sys.path is supposed to contain only character strings.
sp_appendadds the given path to the end ofsys.path.sp_containsindicates whethersys.pathcontains the given path.sp_prependadds the given path to the beginning ofsys.path.sp_removeremoves the given path fromsys.path.
Upon creation, a SysPathBundle instance stores several paths and prepends
them to sys.path. When a bundle is cleared, it erases its content and removes
it from sys.path. Thus, this class facilitates adding and removing a group of
paths.
SysPathBundle can be used as a context manager. In that case, the instance is
cleared at the with block's end.
Function sm_contains takes a module's name (str) as an argument. It
indicates whether dictionary sys.modules contains the module.
For more information, consult the documentation and the demos in the source code repository.
Imports and sys.path
It is possible to import a module if list sys.path contains the path to its
parent directory. Therefore, you can make a module importable by adding its
parent path to sys.path.
Imports and sys.modules
Dictionary sys.modules maps module names (str) to the corresponding module.
The import system uses it as a cache; any module imported for the first time is
stored in it. Since the import system looks for the requested modules in
sys.modules first, the modules that it contains can be imported everywhere
with no modifications to sys.path.
Knowing this, you can use function sm_contains to determine if a module is
already importable. If sm_contains returns True, modifiying sys.path is
not required to import the given module.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file syspathmodif-1.5.1.tar.gz.
File metadata
- Download URL: syspathmodif-1.5.1.tar.gz
- Upload date:
- Size: 10.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2dfd3e8bff5a9c085d2032ba114bc27bf5cba662d2ca5ed6e64a515d73276120
|
|
| MD5 |
32d77c319d0c06be7cbc39c66b70c84a
|
|
| BLAKE2b-256 |
0301d34918b3538dde210c75e02caefe3bb88b3b685bea9f84c87b09a3328f7a
|