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

import sys

# 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

import sys

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

import sys

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

import sys

# 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

import sys

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=&#39;final&#39;, 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

import sys

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

AttributDescription
sys.argvListe des arguments de ligne de commande,sys.argv[0]est le nom du script
sys.pathChemin de recherche des modules Python (PYTHONPATH)
sys.modulesdictionnaire des modules chargés
sys.platformidentifiant de plateforme du système d'exploitation (par ex.,'win32', 'linux', 'darwin')
sys.versioninformations sur la version de l'interpréteur Python
sys.executablechemin absolu de l'interpréteur Python
sys.stdinflux d'entrée standard (objet fichier)
sys.stdoutflux de sortie standard (objet fichier)
sys.stderrflux d'erreur standard (objet fichier)
sys.byteorderordre des octets ('little'ou'big')
sys.maxsizevaleur entière maximale (2**31-1ou2**63-1)

Méthodes courantes du module sys

MéthodeDescription
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
Autres extensions