gpt4 book ai didi

python - 如何在 Python3 中添加带有标志的命令行参数?

转载 作者:太空狗 更新时间:2023-10-29 19:30:29 24 4
gpt4 key购买 nike

我必须从命令行输入参数,即用户名、密码和数据库名称。我知道如何在不使用标志的情况下通过使用 sys.argv 来做到这一点,如下所示:

##Test.py
hostname = str(sys.argv[1])
username = str(sys.argv[2])
password = str(sys.argv[3])

def ConnecttoDB():
try:
con=sql.connect(host=hostname, user= username, passwd= password)
print ('\nConnected to Database\n')

# If we cannot connect to the database, send an error to the user and exit the program.
except sql.Error:
print ("Error %d: %s" % (sql.Error.args[0],sql.Error.args[1]))
sys.exit(1)

return con

因此,它可以运行为:

$test.py DATABASE USERNAME PASWORD

但问题是我必须使用“标志”。因此,脚本可以这样运行:

$test.py -db DATABSE -u USERNAME -p PASSWORD -size 20

如何使用标志从命令行获取参数?

最佳答案

python 3 库包含 3 个用于解析命令行的模块,因此无需添加到您的设置中。

您应该使用的是 argparse

import argparse
parser = argparse.ArgumentParser()

#-db DATABSE -u USERNAME -p PASSWORD -size 20
parser.add_argument("-db", "--hostname", help="Database name")
parser.add_argument("-u", "--username", help="User name")
parser.add_argument("-p", "--password", help="Password")
parser.add_argument("-size", "--size", help="Size", type=int)

args = parser.parse_args()

print( "Hostname {} User {} Password {} size {} ".format(
   args.hostname,
     args.username,
args.password,
args.size
))

关于python - 如何在 Python3 中添加带有标志的命令行参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11604653/

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