2012-05-24 19 views
14

Así que tengo un montón de alias y programas de línea de comandos, y mi programa principal funciona ingresando b en cmd.exe, seguido de algunos nombres de ruta de archivo y lo que no. ¿Cómo podría ejecutar esos argumentos en mi script python? ¿Para que imite la acción que estoy haciendo en el cmd?Ejecutando líneas de comando dentro de su secuencia de comandos de Python

+1

¿Puedes dar algunos ejemplos? 'cmd.exe' es esto en Windows, hablar de alias me hizo pensar que era Linux/Unix. – Levon

+0

Sí esto es Windows. Por ejemplo, ejecutaría un comando "b Y TUP TUP010" siendo b el programa, Y el convertidor, TUP el directorio y TUP010 el subdirectorio – user2315

Respuesta

2

Usted puede hacer esto utilizando subprocess

Por ejemplo, este abajo llamada tiene la salida del programa y lo almacena como una cadena, usando .call ayudará con llamar a ella y para su uso un control más preciso .Popen

subprocess.check_output(["ipconfig"]) 
12

o puede utilizar

import os 
os.system('your_command') 

por ejemplo:

import os 
os.system('notepad') 

ejecutará el bloc de notas con la línea de comando detrás.

esperanza esto ayuda

+2

El módulo de subproceso proporciona instalaciones más potentes para generar nuevos procesos y recuperar sus resultados; usar ese módulo es preferible a usar esta función. Consulte la sección Reemplazo de funciones anteriores con la sección Módulo de subprocesos en la documentación del subproceso para obtener algunas recetas útiles. –

+0

He configurado un alias para que cuando escribo maya se abra un software de animación maya. Sin embargo, cuando hago esto, funciona para el bloc de notas, pero no para maya. – user2315

+0

Estoy de acuerdo en que el subproceso es mucho mejor. –

2

Salida Sarge-un contenedor para el subproceso que tiene como objetivo hacer la vida más fácil para cualquier persona que necesita interactuar con aplicaciones externas a partir de su código Python. y Plumbum - una biblioteca pequeña pero rica en funciones para los programas de shell-script en Python.

Cuestiones relacionadas