选择特定参数的输入值或参数本身(argparse)以用作类对象

时间:2019-01-28 23:54:11

标签: python-3.x argparse

使用以下代码:

def get_args():
    parser = argparse.ArgumentParser(
        formatter_class=argparse.RawDescriptionHelpFormatter,
        description=textwrap.dedent('''\
            The Easy PSQL CLI tool
            --------------------------------
            Easily edit your postgres configuration,
            Add users, and create databases.
            * Uses default postgres user *
            '''))
    parser._positionals.title = 'Positional arguments'
    parser._optionals.title = 'Optional arguments'
    parser.add_argument("--add-user",
                        required=False,
                        action='store',
                        default='',
                        help="Add a new PostgrSQL user")
    parser.add_argument("--del-user",
                        required=False,
                        action='store',
                        default='',
                        help="Delete a PostgrSQL user")
    parser.add_argument("--passwd",
                        required=False,
                        action='store',
                        default='',
                        help="Assign the new PostgreSQL user a password")
    args = parser.parse_args()
    args_dict = vars(args)

我需要获取任何这些参数的输入值,以便以后可以在一些对象中使​​用它们。最好是我想将它们转换为变量,例如,使--add-user = dbuser作为变量。

最重要的是,我想说是否使用了--add-user参数。.否则--del-user可以这样做,例如(一些无效的代码):< / p>

def dbuser(self):
        if get_args.args('add-user'):
            self.cur.execute(f"create user {self.user} with password '{self.password}'")
        if get_args.args('del-user'):
            self.cur.execute(f"drop user {self.user} ")

0 个答案:

没有答案