使用Argparse读取配置

时间:2017-10-28 00:01:36

标签: python-3.x file parsing argparse

在单独的配置文件中,我有以下内容:

charge 0

在我的程序中,我正在尝试使用argparse,以便我可以从另一个文件中读取一些配置。但是,输出是这样的:

Namespace(charge='charge 0')

如何编写add_argument或parse_args以排除我的值中的“charge”一词?

1 个答案:

答案 0 :(得分:0)

如果您希望能够省略'充电'在您的文件中,然后继承ArgumentParser并覆盖convert_arg_line_to_args

import argparse

class MyArgumentParser(argparse.ArgumentParser):

    def convert_arg_line_to_args(self, arg_line):
        """Remove the label from a given argument."""
        try:
            return arg_line.split()[1:]  # given 'charge 0', returns ['0']
        except IndexError:
            return arg_line.split()  # Only one element, just return in a list.