Hướng dẫn python send parameters to script - python gửi tham số tới tập lệnh

Bạn phải đặt các đối số của tập lệnh sau đường dẫn tệp được phân tách bằng khoảng trắng, như thế này:

/usr/green/test.py arg1 arg2 arg3

Để chuyển giá trị của biến bash cho tập lệnh, bạn phải tiền tố tên biến với

param="Hello world"
/usr/green/test.py "$param"
5 (dấu đô la):

param="Hello world"
/usr/green/test.py "$param"

Danh sách các đối số trong tập lệnh Python có thể được truy cập bằng

param="Hello world"
/usr/green/test.py "$param"
6. Phần tử đầu tiên trong danh sách là đường dẫn đến tập lệnh do đó phần tử thứ hai là đối số đầu tiên.

Ví dụ /usr/green/test.py (Python 3): /usr/green/test.py (Python 3):

import sys

print(sys.argv[1])

Đầu vào bash:

param="Hello World"
python3 /usr/green/test.py "$param"

đầu ra bash:

Hello World

Lưu ý: Bạn phải đặt tên biến trong trích dẫn hoặc Hello và World sẽ được chuyển dưới dạng hai đối số riêng biệt để Test.py.

Để thực thi tập lệnh mà không có lệnh

param="Hello world"
/usr/green/test.py "$param"
7, bạn có thể thêm dòng
param="Hello world"
/usr/green/test.py "$param"
8 (Shebang):

#!/usr/bin/python3

import sys

print(sys.argv[1])

Làm cho tập lệnh có thể thực thi bằng cách nhập vào bash:

chmod +x /usr/green/test.py


Python cung cấp một mô-đun GetOpt giúp bạn phân tích các tùy chọn và đối số dòng lệnh.getopt module that helps you parse command-line options and arguments.

$ python test.py arg1 arg2 arg3

Mô-đun Python SYS cung cấp quyền truy cập vào bất kỳ đối số dòng lệnh nào thông qua sys.argv. Điều này phục vụ hai mục đích -sys module provides access to any command-line arguments via the sys.argv. This serves two purposes −

  • sys.argv là danh sách các đối số dòng lệnh.

  • Len (sys.argv) là số lượng đối số dòng lệnh.

Ở đây sys.argv [0] là chương trình tức là. Tên tập lệnh.

Thí dụ

Xem xét kiểm tra tập lệnh sau.py -

#!/usr/bin/python

import sys

print 'Number of arguments:', len(sys.argv), 'arguments.'
print 'Argument List:', str(sys.argv)

Bây giờ chạy trên tập lệnh như sau -

$ python test.py arg1 arg2 arg3

Sản phẩm này sau kết quả -

param="Hello world"
/usr/green/test.py "$param"
0

Lưu ý - Như đã đề cập ở trên, đối số đầu tiên luôn là tên tập lệnh và nó cũng được tính bằng số lượng đối số. − As mentioned above, first argument is always script name and it is also being counted in number of arguments.

Phân tích đối số dòng lệnh

Python cung cấp một mô-đun GetOpt giúp bạn phân tích các tùy chọn và đối số dòng lệnh. Mô -đun này cung cấp hai chức năng và một ngoại lệ để kích hoạt phân tích đối số dòng lệnh.getopt module that helps you parse command-line options and arguments. This module provides two functions and an exception to enable command line argument parsing.

phương thức getOpt.getOpt

Phương thức này phân tích các tùy chọn dòng lệnh và danh sách tham số. Sau đây là cú pháp đơn giản cho phương pháp này -

param="Hello world"
/usr/green/test.py "$param"
1

Dưới đây là chi tiết của các tham số -

  • Args - đây là danh sách đối số được phân tích cú pháp. − This is the argument list to be parsed.

  • Tùy chọn - Đây là chuỗi các chữ cái tùy chọn mà tập lệnh muốn nhận ra, với các tùy chọn yêu cầu đối số phải được theo sau bởi một dấu hai chấm (:). − This is the string of option letters that the script wants to recognize, with options that require an argument should be followed by a colon (:).

  • Long_Options - Đây là tham số tùy chọn và nếu được chỉ định, phải là danh sách các chuỗi có tên của các tùy chọn dài, cần được hỗ trợ. Các tùy chọn dài, yêu cầu một đối số phải được theo sau bởi một dấu hiệu bằng nhau ('='). Để chỉ chấp nhận các tùy chọn dài, các tùy chọn phải là một chuỗi trống. − This is optional parameter and if specified, must be a list of strings with the names of the long options, which should be supported. Long options, which require an argument should be followed by an equal sign ('='). To accept only long options, options should be an empty string.

  • Phương thức này trả về giá trị bao gồm hai phần tử: đầu tiên là danh sách các cặp (tùy chọn, giá trị). Thứ hai là danh sách các đối số chương trình còn lại sau khi danh sách tùy chọn bị tước.(option, value) pairs. The second is the list of program arguments left after the option list was stripped.

  • Mỗi cặp tùy chọn và giá trị được trả về đều có tùy chọn là phần tử đầu tiên của nó, được đặt tiền tố với dấu gạch nối cho các tùy chọn ngắn (ví dụ: '-x') hoặc hai dấu gạch nối cho các tùy chọn dài (ví dụ: '-tùy chọn dài').

Ngoại lệ getOpt.GetOpterRor

Điều này được nêu ra khi một tùy chọn không được công nhận được tìm thấy trong danh sách đối số hoặc khi một tùy chọn yêu cầu một đối số không được đưa ra.

Đối số cho ngoại lệ là một chuỗi chỉ ra nguyên nhân của lỗi. Các thuộc tính MSG và OPT cung cấp thông báo lỗi và tùy chọn liên quan.msg and opt give the error message and related option.

Thí dụ

Hãy xem xét chúng tôi muốn truyền hai tên tệp thông qua dòng lệnh và chúng tôi cũng muốn đưa ra một tùy chọn để kiểm tra việc sử dụng tập lệnh. Việc sử dụng tập lệnh như sau -

param="Hello world"
/usr/green/test.py "$param"
2

Đây là tập lệnh sau để kiểm tra.py -

param="Hello world"
/usr/green/test.py "$param"
3

Bây giờ, chạy trên tập lệnh như sau -

param="Hello world"
/usr/green/test.py "$param"
4

python_basic_syntax.htm