Documentación offline Python 3.14

1. Línea de comandos y entorno

3.14 Ver versión oficial en línea Licencia PSF-2.0Descargado el 2026-08-02

En esta página

1. Línea de comandos y entorno#

El intérprete de CPython analiza la línea de comandos y el entorno en busca de varias configuraciones.

Los esquemas de línea de comandos de otras implementaciones pueden diferir. Véase Implementaciones alternativas para obtener más recursos.

1.1. Línea de comando#

Al invocar Python, puede especificar cualquiera de estas opciones:

python [-bBdEhiIOPqRsSuvVWx?] [-c command | -m module-name | script | - ] [args]

El caso de uso más común es, por supuesto, una simple invocación de un script:

python myscript.py

1.1.1. Opciones de interfaz#

La interfaz del intérprete es similar a la del shell UNIX, pero proporciona algunos métodos adicionales de invocación:

  • When called with standard input connected to a tty device, it prompts for commands and executes them until an EOF (an end-of-file character, you can produce that with "Ctrl"-"D" on UNIX or "Ctrl"-"Z," "Enter" on Windows) is read. For more on interactive mode, see Modo interactivo.

  • Cuando se llama con un argumento de nombre de archivo o con un archivo como entrada estándar, lee y ejecuta un script de ese archivo.

  • Cuando se llama con un argumento de nombre de directorio, lee y ejecuta un script con el nombre adecuado desde ese directorio.

  • Cuando se llama con "-c comando", ejecuta las instrucciones de Python dadas como command. Aquí comando puede contener varias instrucciones separadas por nuevas líneas. ¡El espacio en blanco principal es significativo en las instrucciones de Python!

  • When called with "-m module-name", the given module is located using the standard import mechanism and executed as a script.

En el modo no interactivo, toda la entrada se analiza antes de ejecutarse.

Una opción de interfaz termina la lista de opciones consumidas por el intérprete, todos los argumentos consecutivos terminarán en "sys.argv" -- tenga en cuenta que el primer elemento, subíndice cero ("sys.argv[0]"), es una cadena que refleja el origen del programa.

-c

Ejecute el código de Python en comando. comando puede ser una o más sentencias separadas por nuevas líneas, con espacio en blanco inicial significativo como en el código normal del módulo.

Si se proporciona esta opción, el primer elemento de "sys.argv" será ""-c"" y el directorio actual se agregará al inicio de "sys.path" (permitiendo que los módulos de ese directorio se importen como módulos de nivel superior).

Lanza un auditing event "cpython.run_command" con el argumento "command".

Distinto en la versión 3.14: command is automatically dedented before execution.

-m

Locate the module using the standard import mechanism and execute its contents as the "main" module.

Dado que el argumento es un nombre módulo, no debe dar una extensión de archivo (".py"). El nombre del módulo debe ser un nombre de módulo Python absoluto válido, pero es posible que la implementación no siempre lo aplique (por ejemplo, puede permitirle usar un nombre que incluya un guión).

También se permiten los nombres de paquetes (incluidos los paquetes de espacio de nombres). Cuando se proporciona un nombre de paquete en lugar de un módulo normal, el intérprete ejecutará ".main" como módulo principal. Este comportamiento es deliberadamente similar al manejo de directorios y archivos zip que se pasan al intérprete como argumento del script.

Nota:

 Esta opción no se puede utilizar con módulos integrados y módulos
 de extensión escritos en C, ya que no tienen archivos de módulo
 Python. Sin embargo, todavía se puede utilizar para módulos
 precompilados, incluso si el archivo de origen original no está
 disponible.

Si se da esta opción, el primer elemento de "sys.argv" será la ruta de acceso completa al archivo de módulo (mientras se encuentra el archivo de módulo, el primer elemento se establecerá en ""-m""). Al igual que con la opción "-c", el directorio actual se agregará al inicio de "sys.path".

"-I" option can be used to run the script in isolated mode where "sys.path" contains neither the current directory nor the user's site-packages directory. All "PYTHON*" environment variables are ignored, too.

Muchos módulos de biblioteca estándar contienen código que se invoca en su ejecución como script. Un ejemplo es el módulo "timeit":

  python -m timeit -s "setup here" "benchmarked code here"
  python -m timeit -h # for details

Retorna un auditing event "cpython.run_module" con el argumento "nombre-módulo".

Ver también:

 "runpy.run_module()"
    Funcionalidad equivalente directamente disponible para el
    código Python

 **PEP 338** -- Ejecución de módulos como scripts

Distinto en la versión 3.1: Proporcione el nombre del paquete para ejecutar un submódulo "main".

Distinto en la versión 3.4: paquetes de espacio de nombres también son compatibles

-

Leer comandos de entrada estándar ("sys.stdin"). Si la entrada estándar es un terminal, "-i" está implícita.

Si se da esta opción, el primer elemento de "sys.argv" será ""-"" y el directorio actual se agregará al inicio de "sys.path".

Lanza un evento auditing event "cpython.run_stdin" sin argumentos.