Python Language
sys
Buscar..
Introducción
El módulo sys proporciona acceso a funciones y valores relacionados con el entorno de ejecución del programa, como los parámetros de la línea de comando en sys.argv
o la función sys.exit()
para finalizar el proceso actual desde cualquier punto del flujo del programa.
Aunque está bien separado en un módulo, en realidad está incorporado y, como tal, siempre estará disponible en circunstancias normales.
Sintaxis
Importe el módulo sys y haga que esté disponible en el espacio de nombres actual:
import sys
Importe una función específica del módulo sys directamente al espacio de nombres actual:
from sys import exit
Observaciones
Para obtener detalles sobre todos los miembros del módulo sys , consulte la documentación oficial .
Argumentos de línea de comando
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.
Tenga en cuenta que en programas más grandes y más pulidos, usaría módulos como hacer clic para manejar los argumentos de la línea de comandos en lugar de hacerlo usted mismo.
Nombre del 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
Flujo de error estándar
# 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)
Finalización prematura del proceso y devolución de un código de salida.
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()