Recherche…


Introduction

Le module sys donne accès aux fonctions et aux valeurs concernant l'environnement d'exécution du programme, telles que les paramètres de ligne de commande dans sys.argv ou la fonction sys.exit() pour terminer le processus en cours à partir de n'importe quel point du flux de programme.

Bien que séparé dans un module, il est en fait intégré et, en tant que tel, sera toujours disponible dans des circonstances normales.

Syntaxe

  • Importez le module sys et rendez-le disponible dans l'espace de noms actuel:

    import sys
    
  • Importez une fonction spécifique du module sys directement dans l'espace de noms actuel:

    from sys import exit
    

Remarques

Pour plus de détails sur tous les membres du module sys , reportez-vous à la documentation officielle .

Arguments de ligne de commande

if len(sys.argv) != 4:         # The script name needs to be accounted for as well.
    raise RuntimeError("expected 3 command line arguments")

f = open(sys.argv[1], 'rb')    # Use first command line argument.
start_line = int(sys.argv[2])  # All arguments come as strings, so need to be
end_line = int(sys.argv[3])    # converted explicitly if other types are required.

Notez que dans les programmes plus grands et plus polis, vous utiliseriez des modules tels que click pour gérer les arguments de la ligne de commande au lieu de le faire vous-même.

Nom du script

# The name of the executed script is at the beginning of the argv list.
print('usage:', sys.argv[0], '<filename> <start> <end>')

# You can use it to generate the path prefix of the executed program
# (as opposed to the current module) to access files relative to that,
# which would be good for assets of a game, for instance.
program_file = sys.argv[0]

import pathlib
program_path = pathlib.Path(program_file).resolve().parent

Flux d'erreur standard

# Error messages should not go to standard output, if possible.
print('ERROR: We have no cheese at all.', file=sys.stderr)

try:
    f = open('nonexistent-file.xyz', 'rb')
except OSError as e:
    print(e, file=sys.stderr)

Terminer le processus prématurément et retourner un code de sortie

def main():
    if len(sys.argv) != 4 or '--help' in sys.argv[1:]:
        print('usage: my_program <arg1> <arg2> <arg3>', file=sys.stderr)
        
        sys.exit(1)    # use an exit code to signal the program was unsuccessful

    process_data()


Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow