我使用優秀的Python Click庫來處理我的工具中的命令行選項。下面是我的代碼的簡化版本(完整的腳本here):Python Click:自定義錯誤消息
@click.command(
context_settings = dict(help_option_names = ['-h', '--help'])
)
@click.argument('analysis_dir',
type = click.Path(exists=True),
nargs = -1,
required = True,
metavar = "<analysis directory>"
)
def mytool(analysis_dir):
""" Do stuff """
if __name__ == "__main__":
mytool()
如果有人運行命令不帶任何標誌,他們得到的默認點擊錯誤消息:
$ mytool
Usage: mytool [OPTIONS] <analysis directory>
Error: Missing argument "analysis_dir".
這是不錯,但我'很想告訴(非常)新手用戶,通過使用幫助標誌可以獲得更多的幫助。換句話說,當命令無效時,向錯誤消息添加自定義句子,告訴人們嘗試mytool --help
以獲取更多信息。
有沒有簡單的方法來做到這一點?我知道我可以刪除required
屬性,並在主函數中處理這個邏輯,但是對於這樣一個小小的添加,這會讓人覺得很不方便。
我有完全相同的問題。如果發生錯誤,我想要自動打印幫助,或者至少告訴用戶如何打印幫助。否則,我們必須假設每個使用我們工具的人都熟悉基於unix的思維。我喜歡點擊迄今,但沮喪,這個問題還沒有得到回答,因爲我想要的東西,這將有助於建立新手可以輕鬆使用的工具。 – user1677663
剛剛發現這,這可能是一個解決方案:http://stackoverflow.com/questions/35642202/python-click-return-the-helper-menu – user1677663
不,沒有工作。 – user1677663