「argparse」コードのマークに、すべての感謝の最初のものです。私はフラグで指定されたコマンドラインから引数を取る方法を考え出しました。私の懸念の
import argparse
parser = argparse.ArgumentParser()
#-db DATABASE -u USERNAME -p PASSWORD -size 20000
parser.add_argument("-host", "--hostname", dest = "hostname", default = "xyz.edu", help="Server name")
parser.add_argument("-db", "--database", dest = "db", default = "ding_dong", help="Database name")
parser.add_argument("-u", "--username",dest ="username", help="User name")
parser.add_argument("-p", "--password",dest = "password", help="Password")
parser.add_argument("-size", "--binsize",dest = "binsize", help="Size", type=int)
args = parser.parse_args()
print("Hostname {} db {} User {} Password {} size {} ".format(
args.hostname,
args.db,
args.username,
args.password,
args.binsize
))
def ConnectToDB():
print ('Trying to connect to mySQL server')
# Try to connect to the database
try:
con=sql.connect(host=args.hostname, user= args.username, passwd= args.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
一つは、コードに引数の変数を使用する方法だった
:私は修正「マーク」コードとコマンドライン経由で収集した引数を使用する方法を示し小型モジュールを使用して、それ以下のコードを貼り付けています。そのためには2つのことを行う必要があります
- add_argument行e.xに「dest」を追加します。 dest = "username"これは、comamnd行から収集された値が変数 'username'に割り当てられることを意味します。
- あなたがこのようなコマンドラインを 'dest'から割り当てた変数を使うときはいつも、変数の前に 'args' (ホスト= args.hostname、ユーザー= args.usernameは、passwd = args.password)完了
おかげ
AKご返信や、コードのための
詳細については – Urhixidur
あなたはあなた自身の問題解決を受け入れましたが、** @ Mark **はあなたの質問に対する答えを提供しました。これがとても親切なのかどうかわかりません... – Atcold