Kur*_*orn 10 argparse python-3.x
我想使用 argparse 在我的主函数中传递一些值。在调用 python 文件时,我总是希望包含参数的标志,同时包含或排除其字符串参数。这是因为如果可能的话,调用 python 文件的一些外部代码会变得简单得多。
通过调用 parser.add_argument 添加参数时,我尝试将默认值default=None设置为并将其设置为default=''。看来我自己无法完成这项工作..
def main():
parser = argparse.ArgumentParser()
parser.add_argument('-p', '--projects_to_build', default='')
args = parser.parse_args()
Run Code Online (Sandbox Code Playgroud)
此调用工作正常:
py .\python_file.py -p proj_1,proj_2,proj_3
Run Code Online (Sandbox Code Playgroud)
此调用不会:
py .\python_file.py -p
python_file.py: error: argument -p/--projects_to_build: expected one argument
Run Code Online (Sandbox Code Playgroud)
Pat*_*ugh 10
你需要传递一个nargs值'?'withconst=''
parser.add_argument('-p', '--projects_to_build', nargs='?', const='')
Run Code Online (Sandbox Code Playgroud)
您还应该考虑添加,required=True这样您就不必也通过default=''。
| 归档时间: |
|
| 查看次数: |
4928 次 |
| 最近记录: |