Mat*_*w.J 3 python optional-parameters argparse
我需要识别是否单独给出参数或带有可选字符串或两者都没有
parser.add_argument(???)
options = parser.parse_args()
Run Code Online (Sandbox Code Playgroud)
所以
./prog.py --arg
Run Code Online (Sandbox Code Playgroud)
应存储''到 options.arg 中,
./prog.py --arg=lol
Run Code Online (Sandbox Code Playgroud)
存储'lol'到 options.arg 中并且
./prog.py
Run Code Online (Sandbox Code Playgroud)
左 options.arg 为None
我现在有:
parser.add_argument("--arg", nargs="?",type=str,dest="arg")
Run Code Online (Sandbox Code Playgroud)
但是当我运行我的程序时./prog.py --argoptions.arg 仍然存在None。识别 --arg 的唯一方法是将其运行为./prog.py --arg=,这对我来说是个问题。
小智 7
使用const关键字:
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("--arg", nargs="?", type=str, dest="arg", const="")
print(parser.parse_args([]))
print(parser.parse_args(['--arg']))
print(parser.parse_args(['--arg=lol']))
Run Code Online (Sandbox Code Playgroud)
结果是
Namespace(arg=None)
Namespace(arg='')
Namespace(arg='lol')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2227 次 |
| 最近记录: |