Module sys Python
sysest un module de la bibliothèque standard Python qui fournit des fonctions permettant d'interagir avec l'interpréteur Python et son environnement.
Viasysla bibliothèque, vous pouvez accéder aux variables et fonctions liées à l'interpréteur Python, telles que les arguments de ligne de commande, l'entrée/sortie standard, la sortie du programme, etc.
Importer la bibliothèque sys
Pour utilisersysla bibliothèque, vous devez d'abord l'importer. La méthode d'importation est la suivante :
import sys
Exemple
# Lister tous les attributs et méthodes du module os
print(dir(os))
Fonctionnalités courantes de la bibliothèque sys
1. Arguments de ligne de commande
sys.argvest une liste contenant les arguments de ligne de commande.sys.argv[0]est le nom du script, et les éléments suivants sont les arguments passés au script.
Exemple de code :
Exemple
print("Nom du script :", sys.argv[0])
print("Liste des arguments :", sys.argv[1:])
Comment exécuter :
python script.py arg1 arg2
Sortie :
脚本名称: script.py 参数列表: ['arg1', 'arg2']
2. Sortie du programme
sys.exit()Utilisé pour quitter le programme. Vous pouvez passer un entier comme code de statut de sortie ; généralement0indique le succès, tandis que les valeurs non nulles indiquent des erreurs.
Exemple de code :
Exemple
print("Début du programme")
sys.exit(0)
print("Cette ligne de code ne s'exécutera pas")
3. Entrée/sortie standard
sys.stdin、sys.stdoutetsys.stderrreprésentent respectivement les flux d'entrée standard, de sortie standard et d'erreur standard. Vous pouvez rediriger ces flux pour personnaliser le comportement d'entrée/sortie.
Exemple de code :
Exemple
# Rediriger la sortie standard vers un fichier
with open('output.txt', 'w') as f:
sys.stdout = f
print("Cette ligne sera écrite dans output.txt")
# Restaurer la sortie standard
sys.stdout = sys.__stdout__
print("Cette ligne sera affichée dans la console")
4. Informations sur la version de Python
sys.versionetsys.version_infofournit des informations sur la version de l'interpréteur Python actuel.
Exemple de code :
Exemple
print("Version de Python :", sys.version)
print("Informations de version :", sys.version_info)
Sortie :
<code>Python 版本: 3.9.7 (default, Aug 31 2021, 13:28:12) [GCC 7.5.0] 版本信息: sys.version_info(major=3, minor=9, micro=7, releaselevel='final', serial=0) </code>
5. Chemin de recherche des modules
sys.pathest une liste qui contient les chemins que l'interpréteur Python recherche lors de l'importation de modules. Vous pouvez modifier cette liste pour ajouter des chemins de recherche de modules personnalisés.
Exemple de code :
Exemple
print("Chemin de recherche des modules :", sys.path)
sys.path.append('/custom/path')
print("Chemin de recherche des modules mis à jour :", sys.path)
Attributs courants du module sys
| Attribut | Description |
|---|---|
sys.argv | Liste des arguments de ligne de commande,sys.argv[0]est le nom du script |
sys.path | Chemin de recherche des modules Python (PYTHONPATH) |
sys.modules | dictionnaire des modules chargés |
sys.platform | identifiant de plateforme du système d'exploitation (par ex.,'win32', 'linux', 'darwin') |
sys.version | informations sur la version de l'interpréteur Python |
sys.executable | chemin absolu de l'interpréteur Python |
sys.stdin | flux d'entrée standard (objet fichier) |
sys.stdout | flux de sortie standard (objet fichier) |
sys.stderr | flux d'erreur standard (objet fichier) |
sys.byteorder | ordre des octets ('little'ou'big') |
sys.maxsize | valeur entière maximale (2**31-1ou2**63-1) |
Méthodes courantes du module sys
| Méthode | Description |
|---|---|
sys.exit([status]) | quitter le programme,status=0indique une sortie normale |
sys.getsizeof(obj) | renvoie la taille mémoire en octets occupée par l'objet |
sys.getdefaultencoding() | obtenir l'encodage de chaîne par défaut (généralement'utf-8') |
sys.setrecursionlimit(limit) | définir la limite de profondeur de récursion (par défaut1000) |
sys.getrecursionlimit() | obtenir la limite actuelle de profondeur de récursion |
sys.getrefcount(obj) | renvoyer le nombre de références de l'objet |
sys.exc_info() | obtenir les informations sur l'exception actuelle ((type, value, traceback)) |
sys.settrace(tracefunc) | définir la fonction de traçage de débogage |
sys.setprofile(profilefunc) | définir la fonction de profilage |