Zoeken…


Invoering

De sys- module biedt toegang tot functies en waarden met betrekking tot de runtime-omgeving van het programma, zoals de opdrachtregelparameters in sys.argv of de functie sys.exit() om het huidige proces te beëindigen vanaf elk punt in de programmaflow.

Hoewel het netjes in een module is gescheiden, is het eigenlijk ingebouwd en als zodanig altijd beschikbaar onder normale omstandigheden.

Syntaxis

  • Importeer de sys-module en maak deze beschikbaar in de huidige naamruimte:

    import sys
    
  • Importeer een specifieke functie uit de sys-module rechtstreeks in de huidige naamruimte:

    from sys import exit
    

Opmerkingen

Raadpleeg de officiële documentatie voor meer informatie over alle leden van de sys- module.

Opdrachtregelargumenten

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.

Merk op dat je in grotere en meer gepolijste programma's modules zoals click zou gebruiken om opdrachtregelargumenten af te handelen in plaats van het zelf te doen.

Scriptnaam

# 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

Standaard foutstroom

# 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)

Het proces voortijdig beëindigen en een exitcode retourneren

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
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow