Python Language
sys
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()