我必须从命令行输入参数,即用户名、密码和数据库名称。我知道如何在不使用标志的情况下做到这一点,方法是使用 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
如何使用标志从命令行获取参数?
原文由 Atul Kakrana 发布,翻译遵循 CC BY-SA 4.0 许可协议
首先感谢 Mark 提供的“argparse”代码。我已经想出了从标志指定的命令行获取参数的方法。我正在粘贴下面的代码,它使用修改后的“标记”代码和一个小模块,该模块显示如何使用通过命令行收集的参数:
我关心的问题之一是如何使用代码参数中的变量。为此需要做两件事