2011-01-23 150 views
5

我在Python中很新手,但是我必須爲學校實現一個Python語言的命令行解釋器,但我有點迷失在如何做到這一點。在Python中創建一個CLI(Shell?)

我已經看了一些教程並創建了一個簡單的文件名爲functions.py在那裏我有一些簡單的功能是這樣的:

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

現在..這裏是事..爲了使用這個我必須將其導入python命令解釋器,就像裏面......

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

我怎樣才能讓一個Shell/CLI所以不是都寫了這一切,我可以隨便寫,如:

delete file_name 

謝謝!

+0

我認爲我對「CLI」的定義有所不同。你想爲小編程語言(DSL)編寫一個解釋器,對吧? – AndiDog 2011-01-23 08:30:38

回答

3

我想你現在應該使用簡單​​模塊得到命令行參數

 

import argparse 

from functions import delete 

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

args = parser.parse_args() 

delete(args.file) 
 

希望這應該工作,你

蘇丹

+0

剛剛添加執行位chmod + x delete.py並運行它./delete -f SOME_FILE – sultan 2011-01-23 08:29:30

1

你可能想檢查我的個人REPL爲一些啓發。我在a tutorial series期間寫了它。實際來源可能會發現here。它可能會做一些你不需要的東西......但它可能是一個很好的閱讀。 :)