我想使用argparse解析形式的命令行「ARG = VAL」 例如參數,用法是:使用argparse解析的形式「ARG = VAL」
script.py conf_dir=/tmp/good_conf
爲了實現它,我這樣做:
desc = "details"
parser = argparse.ArgumentParser(description=desc, add_help=False)
args = parser.add_argument("conf_dir")
args = parser.parse_args("conf_dir=FOO".split())
args = parser.parse_args()
print args.conf_dir
但是,問題是,在與腳本的調用:
python script.py conf_dir=/tmp/good_conf
我得到:
conf_dir=/tmp/good_conf
如果如我所料
/tmp/good_conf
所以,問題是:我可以使用argparse解析CMD線,其中包含名稱值對? 任何提示?
編輯:我想這樣做的原因而不是像--conf_dir =/tmp/good_dir這樣的東西是因爲還有其他工具(用其他語言編寫),它使用了conf_dir =/tmp/good_dir類型的參數。爲了保持一致性,我以這種方式解析參數。
我沒有'argparse'可用來檢查這一點,但不應該' 「conf_dir = FOO」 .split()'實際上是'「conf_dir = FOO 」 .split( '=')'? – lafras 2011-03-01 13:11:05