第三天學習python。ArgumentParser對象在傳遞標誌時沒有屬性'add_option'
我試圖瞭解如何從命令行傳遞標誌並調用帶有該標誌的函數。不過,我發現了以下錯誤:
Traceback (most recent call last):
File "main.py", line 18, in <module>
parser.add_option("-l", action="callback", callback=printLogs)
AttributeError: 'ArgumentParser' object has no attribute 'add_option'
的代碼是在這裏:
import argparse
def printLogs():
print("logs!")
parser = argparse.ArgumentParser()
parser.add_argument('-e','--entry', type=str, help='New entry',required=False)
parser.add_option("-l", action="callback", callback=printLogs)
args = parser.parse_args()
我可以理解爲parser.add_option分析器不存在。這很清楚。我還可以看到,OptionParser已被棄用,根據this link。所以,OptionParser已經不在了。
問題是:如何解析-l參數,以便在傳遞printLogs函數時調用它?
你的問題是什麼?你想知道如何將回調選項翻譯成'argparse' API嗎? – user2357112
對不起,只是重新閱讀。沒有問題!我責怪我的發燒。將更新。 – TheMightyLlama
沒有'add_option'方法。改用'add_argument'。此外,沒有'callback'動作,請參閱有關['action']的文檔(http://docs.python.org/3.4/library/argparse.html#action)以查看哪些可用的動作在那裏,並學習如何創建新的操作。 – Bakuriu