2011-01-23 11 views
5

Soy muy novato en Python pero tengo que implementar para la escuela un intérprete de línea de comando en lenguaje Python, pero estoy un poco perdido en cómo hacerlo.Creando una CLI (¿Shell?) En Python

tengo ya leer algunos tutoriales y ha creado un archivo simple llamado functions.py donde me incluyo algunas funciones simples como esta:

def delete(loc): 
    if os.path.exists(loc) == True: 
     os.remove(loc) 
     print "Removed" 
    else: 
     print "File not exists" 

Ahora .. aquí está la cosa .. con el fin de utilizar esto debe importarlo dentro del intérprete de comandos de Python, como ...

import functions 
functions.delete("file to delete") 

¿Cómo puedo hacer una Shell/CLI así que en lugar de tener que escribir todo esto solo puedo escribir como:

delete file_name 

Gracias!

+0

Creo que mi definición de "CLI" difiere un tanto. Desea escribir un intérprete para un pequeño "lenguaje de programación" (DSL), ¿verdad? – AndiDog

Respuesta

3

creo que ahora debería utilizar módulo simple argparse a obtener argumentos de línea de comandos

 

import argparse 

from functions import delete 

parser = argparse.ArgumentParser() 
parser.add_argument('-f', '--file') 

args = parser.parse_args() 

delete(args.file) 
 

Hope esto debería funcionar para usted

Sultan

+0

Después de solo agregar el bit de ejecución chmod + x delete.py y ejecutarlo ./delete -f SOME_FILE – sultan

1

Es posible que desee comprobar mi REPL personal para algo de inspiración. Lo escribí durante a tutorial series. La fuente real se puede encontrar here. Probablemente haga algunas cosas que no necesitará ... Aún así podría ser una buena lectura. :)