2011-01-23 4 views
5

Sono molto novizio in Python, ma devo implementare per la scuola un interprete di riga di comando in linguaggio Python, ma sono piuttosto perso in come farlo.Creazione di una CLI (Shell?) In Python

ho già letto alcuni tutorial e ha creato un semplice file chiamato functions.py in cui includo alcune funzioni semplici come questo:

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

Ora .. qui è la cosa .. al fine di utilizzare questo ho deve importarlo all'interno del comando interprete Python, come ...

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

Come posso fare una Shell/CLI così invece di dover scrivere tutto questo posso solo scrivere come:

delete file_name 

Grazie!

+0

Penso che la mia definizione di "CLI" differisca leggermente. Vuoi scrivere un interprete per un piccolo "linguaggio di programmazione" (DSL), giusto? – AndiDog

risposta

3

Credo che si dovrebbe ora utilizzare semplice modulo argparse ottenere gli argomenti della riga di comando

 

import argparse 

from functions import delete 

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

args = parser.parse_args() 

delete(args.file) 
 

Spero che questo dovrebbe funzionare per voi

Sultan

+0

Dopo aver aggiunto il bit di esecuzione chmod + x delete.py ed eseguirlo ./delete -f SOME_FILE – sultan

1

Si potrebbe voler controllare il mio personale REPL per qualche ispirazione. L'ho scritto durante lo a tutorial series. La fonte effettiva può essere trovata here. Probabilmente fa alcune cose che non ti serviranno ... Comunque potrebbe essere una buona lettura. :)