Python Language
sys
Suche…
Einführung
Das sys- Modul bietet Zugriff auf Funktionen und Werte, die die Laufzeitumgebung des Programms betreffen, wie z. B. die Befehlszeilenparameter in sys.argv
oder die Funktion sys.exit()
, um den aktuellen Prozess an einem beliebigen Punkt im Programmablauf zu beenden.
Obwohl es sauber in ein Modul unterteilt ist, ist es tatsächlich eingebaut und steht unter normalen Umständen immer zur Verfügung.
Syntax
Importieren Sie das sys-Modul und machen Sie es im aktuellen Namespace verfügbar:
import sys
Importieren Sie eine bestimmte Funktion aus dem sys-Modul direkt in den aktuellen Namespace:
from sys import exit
Bemerkungen
Einzelheiten zu allen Mitgliedern des sys- Moduls finden Sie in der offiziellen Dokumentation .
Kommandozeilenargumente
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.
Beachten Sie, dass Sie in größeren und ausgefeilteren Programmen Module verwenden, z. B. klicken Sie , um Befehlszeilenargumente zu behandeln, anstatt es selbst zu tun.
Skriptname
# 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
Standardfehlerstrom
# 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)
Den Prozess vorzeitig beenden und einen Beendigungscode zurückgeben
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()