Tham số dòng lệnh trong Python

Tham số dòng lệnh trong Python là gì? Nó được sử dụng như thế nào? Mời bạn đọc cùng eLib tìm hiểu qua bài viết dưới đây nhé!

Tham số dòng lệnh trong Python

1. Tham số dòng lệnh trong Python

Mô-đun getopt giúp bạn phân tích cú pháp các tùy chọn và tham số dòng lệnh trong Python.

$ python test.py arg1 arg2 arg3
Mô-đun sys trong Python cung cấp sự truy cập tới bất kỳ tham số dòng lệnh nào thông qua sys.argv. Phục vụ hai mục đích:
  • sys.argv là danh sách các tham số dòng lệnh.
  • len(sys.argv) là số tham số dòng lệnh.

2. Ví dụ

import sys

print 'So tham so:', len(sys.argv), 'tham so.'
print 'Danh sach tham so:', str(sys.argv)

 

Bây giờ chạy script trên như sau:
 
$ python test.py arg1 arg2 arg3

Kết quả:

So tham so: 4 tham so.
Danh sach tham so: ['test.py', 'arg1', 'arg2', 'arg3']

Ghi chú: tham số đầu tiên luôn luôn là tên script và nó cũng được tính là một tham số.

3. Phân tích các tham số dòng lệnh trong Python

Python cung cấp mô-đun getopt giúp bạn phân tích cú pháp các tùy chọn và tham số dòng lệnh. Module này cung cấp hai hàm và một exception để kích hoạt việc phân tích cú pháp các tham số dòng lệnh.

Phương thức getopt.getopt trong Python

Phương thức này phân tích cú pháp danh sách tham số và các tùy chọn tham số dòng lệnh. Cú pháp là:

getopt.getopt(args, option, [long_option])

Chi tiết về tham số:

  • args: Đây là danh sách tham số được truyền vào từ dòng lệnh.
  • option: Đây là chuỗi các tùy chọn mà script muốn để nhận ra. Với các tùy chọn mà yêu cầu một tham số thì nên được theo sau bởi một dấu hai chấm (:).
  • long_option: Đây là tham số tùy ý và nếu được xác định, phải là một danh sách các chuỗi là tên các tùy chọn dài, mà được hỗ trợ. Với các tùy chọn dài yêu cầu một tham số thì nên được theo sau bởi một dấu bằng (=). Để chỉ chấp nhận các tùy chọn dài, các tùy chọn nên là một chuỗi trống.
  • Phương thức này trả về trả trị bao gồm hai phần tử: phần tử đầu là một danh sách các cặp (option, value). Phần tử thứ hai là danh sách các tham số chương trình.
  • Cặp option-value được trả về có một dấu gạch nối ngắn ở trước (ví dụ -x) là tùy chọn ngắn, có hai dấu gạch nối là tùy chọn dài (ví dụ --long-option).

Phương thức getopt.GetoptError trong Python

Đây là một ngoại lệ (exception) và nó được tạo khi thấy một tùy chọn không được nhận ra trong danh sách tham số hoặc khi một tùy chọn cần một tham số mà không cung cấp tham số nào.

Tham số cho exception là một chuỗi chỉ nguyên nhân gây ra lỗi. Các thuộc tính msg và opt cung cấp thông điệp lỗi và tùy chọn có liên quan.

Ví dụ:

Giả sử bạn muốn truyền hai tên file thông qua dòng lệnh và bạn cũng muốn cung cấp một tùy chọn để kiểm tra sự sử dụng của script. Usage của script là như sau:

usage: test.py -i <inputfile> -o <outputfile>

Bây giờ chạy script trên như sau:

$ test.py -h
usage: test.py -i <inputfile> -o <outputfile>

$ test.py -i BMP -o
usage: test.py -i <inputfile> -o <outputfile>

$ test.py -i inputfile
Input file is " inputfile
Output file is "

Trên đây là bài viết của eLib.VN về Tham số dòng lệnh trong Python. Hy vọng bài viết hữu ích đến bạn đọc và khơi nguồn cảm hứng để học lập trình. Chúc các bạn thành công!

Ngày:23/10/2020 Chia sẻ bởi:Chương

CÓ THỂ BẠN QUAN TÂM