работает со следующим кодом:
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 делает это, например (некоторый нерабочий код):
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} ")