Tengo que ingresar los parámetros desde la línea de comandos, es decir, nombre de usuario, contraseña y nombre de la base de datos. Sé cómo hacerlo sin usar banderas, usando 'sys.argv' (como a continuación).Agregar argumentos de línea de comandos con indicadores en Python3
##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
Por lo tanto, podría ser ejecutado como:
$ test.py BASE DE DATOS NOMBRE DE USUARIO pasword
Pero el problema es que tengo que usar 'banderas'. Por lo tanto, la secuencia de comandos se puede ejecutar la siguiente manera:
$test.py -db DATABSE -u USERNAME -p PASSWORD -size 20
¿Cómo puedo usar banderas para tomar argumentos de línea de comandos? Agradecería tu ayuda en esto.
http://docs.python.org/3/library/argparse.html para los detalles – Urhixidur
Usted aceptó su propia solución problema, mientras que ** @ Mark ** le proporcionó una respuesta a su pregunta. No estoy seguro si esto es muy amable ... – Atcold