Necesito ejecutar una secuencia de comandos de Python desde una sesión de Python ya iniciada, como si se hubiera iniciado desde la línea de comandos. Estoy pensando en hacer algo similar a source
en bash o sh.¿Cómo ejecuto (no importo) una secuencia de comandos python desde un indicador de Python?
Respuesta
En Python 2, la función integrada execfile
hace esto.
execfile(filename)
Si está ejecutando ipython (que recomiendo altamente para las sesiones interactivas pitón), puede escribir:
%run filename
o
%run filename.py
para ejecutar el módulo (en lugar de importándolo). Obtendrás la finalización del nombre de archivo, lo cual es genial para ReallyLongModuleName.py (no es que digas tus módulos de esa manera ni nada por el estilo).
gracias por la sugerencia, suelo usar ipython, pero desafortunadamente para esta tarea necesité depurar una biblioteca de C llamada desde python a través de Ctypes. Así que necesitaba cargar el binario de python en gdb, ejecutarlo, importar ctypes, cargar la biblioteca, anotar la dirección de carga, partir a gdb, agregar los símbolos de la biblioteca, establecer los puntos de interrupción, continuar la ejecución de python y finalmente cargar el módulo. .utilizar ipython hubiera agregado un paso adicional, ya que no es un binario en sí mismo que se puede cargar directamente en gdb, sino en otro script de python :-) – fortran
- 1. La secuencia de comandos PHP no puede obtenerse desde la secuencia de comandos de Python
- 2. ¿Cómo importo un script de Python desde un directorio hermano?
- 3. (pero no de ejecución) una secuencia de comandos de Python
- 4. Cómo ejecutar una magia de IPython desde una secuencia de comandos (o cronometrar una secuencia de comandos de Python)
- 5. ¿Cómo se invoca una secuencia de comandos python dentro de un archivo jar utilizando Python?
- 6. Importar secuencia de comandos desde un directorio primario
- 7. ¿Cómo desarmo una secuencia de comandos de Python?
- 8. ¿Cómo ejecutar una secuencia de comandos python en segundo plano?
- 9. ¿cómo detengo la ejecución en una secuencia de comandos python?
- 10. La secuencia de comandos de vigilancia Python no funciona correctamente
- 11. ¿Cómo ejecuto un programa de Python?
- 12. Hacer una secuencia de comandos de Python Orientado a objetos
- 13. ¿Cómo obtener la ruta actual del intérprete de Python desde dentro de una secuencia de comandos de Python?
- 14. ¿Cómo puedo verificar si la opción de depuración python está configurada desde una secuencia de comandos
- 15. ¿Cómo "detener" y "reanudar" la secuencia de comandos de Python?
- 16. Reinicio de una secuencia de comandos python autoactualizable
- 17. ejecutando un comando como superusuario desde una secuencia de comandos python
- 18. Enviar un correo electrónico utilizando la secuencia de comandos python
- 19. ¿Forma HTML POST a una secuencia de comandos python?
- 20. Ejecutar (remota) secuencia de comandos php desde (local) secuencia de comandos pitón
- 21. llamar a un EDITOR (vim) desde una secuencia de comandos python
- 22. ¿Cómo importo módulos en boost :: python embedded python code?
- 23. ¿Cómo pasar un parámetro bash a una secuencia de comandos python en una tarea cron?
- 24. Cómo iniciar PowerShell (no una secuencia de comandos) desde la línea de comandos
- 25. equivalente en lotes de "fuente" en Windows: cómo ejecutar una secuencia de comandos python desde un virtualenv
- 26. En la secuencia de comandos de Python, ¿cómo configuro PYTHONPATH?
- 27. Cómo ejecutar continuamente una secuencia de comandos de Python en un servidor EC2?
- 28. Pasando el valor de la secuencia de comandos PHP a la secuencia de comandos de Python
- 29. ¿Cómo importo un módulo de terceros en Python?
- 30. Enviar archivo utilizando POST desde una secuencia de comandos de Python
tienes que amar a python. ¿Cómo * exec * ute a * file * en python: execfile. –
en Python 3 que doesn t trabajo que tiene que utilizar su propio módulo para que al igual que este import sys proceso de la clase(): \t def __call __ (self, nombre de archivo, globales = Ninguno, los locales = None): \t \t importación sys \t \t si globales es Ninguno: \t \t \t globales = sys._getframe (1) .f_globals \t \t si los locales es Ninguno: \t \t \t locales = sys._getframe (1) .f_locals \t \t con abierto (nombre de archivo, "r") como fh: \t \t \t exec (fh.read() + "\ n", globals, locales) sys.modules [__ name__] = process() – jamk
Yep, 'execfile()' se ha ido en Python 3. Ver [¿Qué es una alternativa a execfile en Python 3.0?] (http://stackoverflow.com/questions/436198/what-is-an-alternative-to-execfile-in -python-3-0) –