所以我編寫了一個Python 3庫,它用作應用程序的「後端」。現在我可以和解釋者一起坐下來,導入源文件,並使用lib進行破解 - 我知道如何做到這一點。創建Python命令行應用程序
但我也想建立一個命令行'frontent'應用程序使用庫。我的庫定義了一些具有高級命令的對象,這些對象應該可以被應用程序看到。這樣的命令可能會返回一些數據結構,而高級命令會很好地打印它們。換句話說,命令行應用程序將是一個很小的包裝器,將輸入傳遞給庫命令,並將結果呈現給用戶。
我想要實現的最好的例子可能是Mercurial SCM,因爲它是用Python編寫的,'hg'命令執行我正在查找的內容 - 例如'hg commit -m message '會找到負責'commit'命令實現的代碼,傳遞來自用戶的參數並完成其工作。在回來的路上,它可能會得到一些結果並很好地打印出來。
在Python中是否有一種通用的方法?像使用註釋將類/方法/函數暴露爲「高級」命令一樣?有人知道任何教程嗎?
使用['argparse'](https://docs.python.org/3/library/argparse.html)解析命令行參數。從那裏,調用庫中的方法並打印結果。 – dsh
你看看點擊http://click.pocoo.org/5/? – Adib
這不是更多的bash問題嗎?你可以在你的bash配置文件中使用你想要的命令來調用類似'python script.py args'的東西。然後在腳本中使用'argparse'等解析出這些參數。 – Bahrom