gpt4 book ai didi

python-3.x - Python argparse的字符串值可能为空

转载 作者:行者123 更新时间:2023-12-03 18:14:57 33 4
gpt4 key购买 nike

我想使用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()

此调用工作正常:
py .\python_file.py -p proj_1,proj_2,proj_3

此调用不执行以下操作:
py .\python_file.py -p

python_file.py: error: argument -p/--projects_to_build: expected one argument

最佳答案

您需要使用nargs传递'?' const=''

parser.add_argument('-p', '--projects_to_build', nargs='?', const='')

您还应该考虑添加 required=True,因此您也不必传递 default=''

关于python-3.x - Python argparse的字符串值可能为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58396432/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com