gpt4 book ai didi

python - 使用 argparse 传递给 python 脚本的文件类型检查参数

转载 作者:行者123 更新时间:2023-11-28 20:50:11 24 4
gpt4 key购买 nike

有没有办法使用 argparse 对文件名参数进行文件类型检查?如果我可以创建正确类型的容器对象,似乎可以通过 type 或 choices 关键字来完成。

我期待传入一种类型的文件(例如,file.txt)并希望 argparse 在文件不正确时给出自动消息输入 (.txt)。例如,argparse 可能输出

usage: PROG --foo filename etc... error: argument filename must be of type *.txt.

也许我们可以尝试检测文件名字符串不是以“.txt”结尾,而不是检测错误的文件类型,但这需要一个复杂的容器对象。

最佳答案

你可以使用type=关键字来指定你自己的类型转换器;如果你的文件名不正确,抛出一个ArgumentTypeError:

import argparse

def textfile(value):
if not value.endswith('.txt'):
raise argparse.ArgumentTypeError(
'argument filename must be of type *.txt')
return value

类型转换器没有来转换值..

parser.add_argument('filename', ..., type=textfile)

关于python - 使用 argparse 传递给 python 脚本的文件类型检查参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12977628/

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