Tôi phải nhập tham số từ dòng lệnh, tức là tên người dùng, mật khẩu và tên cơ sở dữ liệu. Tôi biết làm thế nào để làm điều đó mà không cần sử dụng cờ, bằng cách sử dụng 'sys.argv' (như dưới đây).Thêm đối số dòng lệnh với cờ trong 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
Vì vậy, nó có thể được chạy như:
$ test.py DATABASE USERNAME pasword
Nhưng vấn đề là tôi phải sử dụng 'cờ'. Vì vậy, các kịch bản có thể được chạy như thế này:
$test.py -db DATABSE -u USERNAME -p PASSWORD -size 20
Làm thế nào tôi có thể sử dụng lá cờ để có đối số từ dòng lệnh? Tôi sẽ đánh giá cao sự giúp đỡ của bạn về điều này.
http://docs.python.org/3/library/argparse.html để biết chi tiết – Urhixidur
Bạn đã chấp nhận giải pháp vấn đề của riêng mình, trong khi ** @ Mark ** đã cung cấp cho bạn câu trả lời cho câu hỏi của bạn. Tôi không chắc liệu điều này có tốt không ... – Atcold