python argparse 增加一个可选参数,-f,后面接文档名,允许文档名为空

admin2024-08-24  4

在 Python 中使用 argparse 模块添加一个可选参数 -f,并允许它后面接的文件名为空,可以通过设置参数类型为 str 并提供默认值(例如 None)来实现。以下是如何配置的示例代码:

import argparse

# 初始化 ArgumentParser
parser = argparse.ArgumentParser(description="Process a file.")

# 添加可选参数 -f,允许文档名为空
parser.add_argument('-f', '--file', nargs='?', const=None, default=None, help='The name of the file. This can be empty.')

# 解析命令行参数
args = parser.parse_args()

# 输出参数
if args.file is None:
    print("No file name provided.")
else:
    print(f"File name provided: {args.file}")

解释:

  • nargs='?': 表示参数 -f 后面可以跟一个值,也可以不跟值。
  • const=None: 如果提供了 -f 但没有给出值,args.file 会被设置为 None。这确保了当用户输入 -f 而没有提供文件名时,参数的值为 None
  • default=None: 当用户不提供 -f 参数时,args.file 的默认值也是 None

示例用法:

  • 如果用户输入 python script.py -f myfile.txt,输出为:

    File name provided: myfile.txt
    
  • 如果用户输入 python script.py -f,输出为:

    No file name provided.
    
  • 如果用户不使用 -f 参数,输出也是:

    No file name provided.
    

通过这种方式,你可以在 argparse 中实现一个可选参数,允许后接的文档名为空。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明原文出处。如若内容造成侵权/违法违规/事实不符,请联系SD编程学习网:675289112@qq.com进行投诉反馈,一经查实,立即删除!