Python:
Đọc các đối số dòng lệnh
Làm thế nào:
Sử dụng mô-đun sys
của Python, bạn có thể bắt lấy các đối số dòng lệnh một cách dễ dàng. Đây là cách để truy cập chúng trong mã của bạn:
import sys
# Đối số đầu tiên luôn là tên của script, vì vậy chúng ta bỏ qua nó
arguments = sys.argv[1:]
# Làm gì đó với các đối số
print("Bạn đã nhập:", arguments)
Chạy mã của bạn như thế này:
python your_script.py these are your arguments
Kết quả mẫu:
Bạn đã nhập: ['these', 'are', 'your', 'arguments']
Sâu hơn nữa
Ngày xưa, mọi người tương tác với máy tính qua dòng lệnh. Đó là lý do tại sao hầu hết các ngôn ngữ, bao gồm Python, đều có cách để đọc các đối số dòng lệnh. Đó là cách điều khiển mã trước khi GUI xuất hiện.
sys.argv
của Python rất tiện ích, nhưng cho phép phân tích lệnh phức tạp hơn, có mô-đun argparse
. argparse
là một mô-đun cho khi bạn cần nhiều hơn cơ bản – như khi đối số của bạn cần có tên, kiểu, hoặc giá trị mặc định.
Bây giờ, sys.argv
chỉ là một danh sách. Mọi thứ bạn truyền đều là chuỗi, bất kể thế nào. Không có phép màu nào cả; nếu bạn muốn số, hãy tự chuyển đổi chúng với cái gì đó như int()
hoặc float()
.
Xem thêm
Để biết thêm về sys.argv
và argparse
, hãy xem tài liệu Python:
sys.argv
: https://docs.python.org/3/library/sys.html#sys.argv- Hướng dẫn
argparse
: https://docs.python.org/3/howto/argparse.html
Và nếu bạn thực sự muốn lao đầu vào giao diện dòng lệnh:
- Click: https://click.palletsprojects.com/en/7.x/
- docopt: http://docopt.org/
Chúc bạn lập trình vui vẻ!