Lấy giá trị đối số Argument khi chạy python bằng command


Khi chạy python bằng command line, nếu bạn muốn truyền đối số và bắt các giá trị của đôi số giống như sau:

python upload.py --file=abc.txt --storage=amazon_s3

Thì các bạn có thể sử dụng thư viện Python: argparse. Thư viện này được build-in từ Python 3.2 nên bạn không cần phải cài đặt gì cả. Phần doc của thư viện này nằm ở đây.

Đầu tiên các bạn hãy import thư viện vào

from argparse import ArgumentParser

Sau đó hãy định nghĩa các Argument mà bạn mong muốn

# Add arguments
parser = ArgumentParser()
parser.add_argument("-f", "--file", dest="local_file", help="Please specify file", metavar="str")
parser.add_argument("-s", "--storage", dest="storage_host", help="Please specify storage", metavar="str")
  • Tham số thứ nhất, VD: -f, -s là key của đôi số (ngắn)
  • Tham số thứ hai, VD: –file, –storage là key của đối số (dài)
  • dest: là key của biến args mà ta sẽ sử dụng để lấy giá trị của đối số
  • help: Trường hợp có tham số đầu vào mà không chỉ ra giá trị truyền vào nó sẽ thông báo message này
  • metavar: kiểu dữ liệu truyền vào

Cuối cùng là các bạn lấy giá trị truyền vào như sau:

# parse arguments
args = parser.parse_args()

Vậy toàn bộ đoạn code của chúng ta như sau:

from argparse import ArgumentParser

# Add arguments
parser = ArgumentParser()
parser.add_argument("-f", "--file", dest="local_file", help="Please specify file", metavar="str")
parser.add_argument("-s", "--storage", dest="storage_host", help="Please specify storage", metavar="str")

# parse arguments
args = parser.parse_args()

print(args)

Kết quả:

Để biết thêm cách sử dụng thư viện này, các bạn vui lòng tham khảo tài liệu đã gửi bên trên.

Nguồn: vinasupport.com

 

             
SHARE

Bài viết liên quan

mode_edit Bình luận của bạn

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

account_circle
web