Hướng dẫn can you pass arguments to python script? - bạn có thể chuyển đối số vào tập lệnh python không?


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ả -

Number of arguments: 4 arguments.
Argument List: ['test.py', 'arg1', 'arg2', 'arg3']

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 -

getopt.getopt(args, options, [long_options])

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 -

usage: test.py -i  -o 

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

#!/usr/bin/python

import sys, getopt

def main(argv):
   inputfile = ''
   outputfile = ''
   try:
      opts, args = getopt.getopt(argv,"hi:o:",["ifile=","ofile="])
   except getopt.GetoptError:
      print 'test.py -i  -o '
      sys.exit(2)
   for opt, arg in opts:
      if opt == '-h':
         print 'test.py -i  -o '
         sys.exit()
      elif opt in ("-i", "--ifile"):
         inputfile = arg
      elif opt in ("-o", "--ofile"):
         outputfile = arg
   print 'Input file is "', inputfile
   print 'Output file is "', outputfile

if __name__ == "__main__":
   main(sys.argv[1:])

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

$ test.py -h
usage: test.py -i  -o 

$ test.py -i BMP -o
usage: test.py -i  -o 

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

python_basic_syntax.htm

Để thêm các đối số vào các tập lệnh Python, bạn sẽ phải sử dụng một mô-đun tích hợp có tên là Arg Argparse. Như tên cho thấy, nó phân tích các đối số dòng lệnh được sử dụng trong khi khởi chạy tập lệnh hoặc ứng dụng Python. Các đối số phân tích cú pháp này cũng được kiểm tra bởi mô -đun Arg Argparse để đảm bảo rằng chúng thuộc loại đúng kiểu.

from sys import argv
arg1, arg2, arg3, ... = argv

Làm thế nào để bạn vượt qua các đối số trong một kịch bản?

Các đối số có thể được chuyển đến tập lệnh khi nó được thực thi, bằng cách viết chúng dưới dạng danh sách được phân phối không gian theo tên tệp tập lệnh. Bên trong tập lệnh, biến $ 1 tham chiếu đối số đầu tiên trong dòng lệnh, $ 2 đối số thứ hai và vv. Biến $ 0 tham chiếu đến tập lệnh hiện tại.

>>> x = 1
>>> print eval('x+1')
2

Các đối số được đưa ra theo tên của chương trình trong vỏ dòng lệnh của hệ điều hành được gọi là đối số dòng lệnh. Python cung cấp nhiều cách khác nhau để đối phó với các loại đối số này. Ba phổ biến nhất là: & nbsp;Command Line Arguments. Python provides various ways of dealing with these types of arguments. The three most common are: 

  • Sử dụng sys.argv
  • Sử dụng mô -đun GetOpt
  • Sử dụng mô -đun argparse

Sử dụng sys.argv

Sử dụng mô -đun GetOpt
One such variable is sys.argv which is a simple list structure. It’s main purpose are:

  • Sử dụng mô -đun argparse
  • Mô -đun SYS cung cấp các chức năng và biến được sử dụng để thao tác các phần khác nhau của môi trường thời gian chạy Python. Mô -đun này cung cấp quyền truy cập vào một số biến được sử dụng hoặc duy trì bởi trình thông dịch và các chức năng tương tác mạnh mẽ với trình thông dịch. Một biến đó là sys.argv là cấu trúc danh sách đơn giản. Mục đích chính của nó là:
  • Nó là một danh sách các đối số dòng lệnh.
     

Len (sys.argv) cung cấp số lượng đối số dòng lệnh. Let’s suppose there is a Python script for adding two numbers and the numbers are passed as command-line arguments.
 

Python3

sys.argv [0] là tên của tập lệnh Python hiện tại. & nbsp; & nbsp;

Ví dụ: Hãy giả sử rằng có một tập lệnh Python để thêm hai số và các số được truyền dưới dạng đối số dòng lệnh. & NBSP;

#!/usr/bin/python

import sys

print 'Number of arguments:', len(sys.argv), 'arguments.'
print 'Argument List:', str(sys.argv)
6
#!/usr/bin/python

import sys

print 'Number of arguments:', len(sys.argv), 'arguments.'
print 'Argument List:', str(sys.argv)
7
#!/usr/bin/python

import sys

print 'Number of arguments:', len(sys.argv), 'arguments.'
print 'Argument List:', str(sys.argv)
8
#!/usr/bin/python

import sys

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

#!/usr/bin/python

import sys

print 'Number of arguments:', len(sys.argv), 'arguments.'
print 'Argument List:', str(sys.argv)
6
#!/usr/bin/python

import sys

print 'Number of arguments:', len(sys.argv), 'arguments.'
print 'Argument List:', str(sys.argv)
7
$ python test.py arg1 arg2 arg3
2
$ python test.py arg1 arg2 arg3
3
$ python test.py arg1 arg2 arg3
4
$ python test.py arg1 arg2 arg3
5

#!/usr/bin/python

import sys

print 'Number of arguments:', len(sys.argv), 'arguments.'
print 'Argument List:', str(sys.argv)
0
#!/usr/bin/python

import sys

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

#!/usr/bin/python

import sys

print 'Number of arguments:', len(sys.argv), 'arguments.'
print 'Argument List:', str(sys.argv)
2
#!/usr/bin/python

import sys

print 'Number of arguments:', len(sys.argv), 'arguments.'
print 'Argument List:', str(sys.argv)
3
#!/usr/bin/python

import sys

print 'Number of arguments:', len(sys.argv), 'arguments.'
print 'Argument List:', str(sys.argv)
4
#!/usr/bin/python

import sys

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

#!/usr/bin/python

import sys

print 'Number of arguments:', len(sys.argv), 'arguments.'
print 'Argument List:', str(sys.argv)
6
#!/usr/bin/python

import sys

print 'Number of arguments:', len(sys.argv), 'arguments.'
print 'Argument List:', str(sys.argv)
7
$ python test.py arg1 arg2 arg3
8
$ python test.py arg1 arg2 arg3
9
#!/usr/bin/python

import sys

print 'Number of arguments:', len(sys.argv), 'arguments.'
print 'Argument List:', str(sys.argv)
3
Number of arguments: 4 arguments.
Argument List: ['test.py', 'arg1', 'arg2', 'arg3']
1
Number of arguments: 4 arguments.
Argument List: ['test.py', 'arg1', 'arg2', 'arg3']
2

Number of arguments: 4 arguments.
Argument List: ['test.py', 'arg1', 'arg2', 'arg3']
3
Number of arguments: 4 arguments.
Argument List: ['test.py', 'arg1', 'arg2', 'arg3']
4
Number of arguments: 4 arguments.
Argument List: ['test.py', 'arg1', 'arg2', 'arg3']
5
Number of arguments: 4 arguments.
Argument List: ['test.py', 'arg1', 'arg2', 'arg3']
6
#!/usr/bin/python

import sys

print 'Number of arguments:', len(sys.argv), 'arguments.'
print 'Argument List:', str(sys.argv)
7
Number of arguments: 4 arguments.
Argument List: ['test.py', 'arg1', 'arg2', 'arg3']
8
Number of arguments: 4 arguments.
Argument List: ['test.py', 'arg1', 'arg2', 'arg3']
9

#!/usr/bin/python

import sys

print 'Number of arguments:', len(sys.argv), 'arguments.'
print 'Argument List:', str(sys.argv)
2
#!/usr/bin/python

import sys

print 'Number of arguments:', len(sys.argv), 'arguments.'
print 'Argument List:', str(sys.argv)
3
#!/usr/bin/python

import sys

print 'Number of arguments:', len(sys.argv), 'arguments.'
print 'Argument List:', str(sys.argv)
4
#!/usr/bin/python

import sys

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

#!/usr/bin/python

import sys

print 'Number of arguments:', len(sys.argv), 'arguments.'
print 'Argument List:', str(sys.argv)
6
#!/usr/bin/python

import sys

print 'Number of arguments:', len(sys.argv), 'arguments.'
print 'Argument List:', str(sys.argv)
7
$ python test.py arg1 arg2 arg3
8
$ python test.py arg1 arg2 arg3
9
#!/usr/bin/python

import sys

print 'Number of arguments:', len(sys.argv), 'arguments.'
print 'Argument List:', str(sys.argv)
3
Number of arguments: 4 arguments.
Argument List: ['test.py', 'arg1', 'arg2', 'arg3']
1
Number of arguments: 4 arguments.
Argument List: ['test.py', 'arg1', 'arg2', 'arg3']
2

#!/usr/bin/python

import sys

print 'Number of arguments:', len(sys.argv), 'arguments.'
print 'Argument List:', str(sys.argv)
6
#!/usr/bin/python

import sys

print 'Number of arguments:', len(sys.argv), 'arguments.'
print 'Argument List:', str(sys.argv)
7
#!/usr/bin/python

import sys, getopt

def main(argv):
   inputfile = ''
   outputfile = ''
   try:
      opts, args = getopt.getopt(argv,"hi:o:",["ifile=","ofile="])
   except getopt.GetoptError:
      print 'test.py -i  -o '
      sys.exit(2)
   for opt, arg in opts:
      if opt == '-h':
         print 'test.py -i  -o '
         sys.exit()
      elif opt in ("-i", "--ifile"):
         inputfile = arg
      elif opt in ("-o", "--ofile"):
         outputfile = arg
   print 'Input file is "', inputfile
   print 'Output file is "', outputfile

if __name__ == "__main__":
   main(sys.argv[1:])
4
#!/usr/bin/python

import sys, getopt

def main(argv):
   inputfile = ''
   outputfile = ''
   try:
      opts, args = getopt.getopt(argv,"hi:o:",["ifile=","ofile="])
   except getopt.GetoptError:
      print 'test.py -i  -o '
      sys.exit(2)
   for opt, arg in opts:
      if opt == '-h':
         print 'test.py -i  -o '
         sys.exit()
      elif opt in ("-i", "--ifile"):
         inputfile = arg
      elif opt in ("-o", "--ofile"):
         outputfile = arg
   print 'Input file is "', inputfile
   print 'Output file is "', outputfile

if __name__ == "__main__":
   main(sys.argv[1:])
5
getopt.getopt(args, options, [long_options])
6
Number of arguments: 4 arguments.
Argument List: ['test.py', 'arg1', 'arg2', 'arg3']
2

Output: 
 

Hướng dẫn can you pass arguments to python script? - bạn có thể chuyển đối số vào tập lệnh python không?

Sử dụng mô -đun GetOpt

Sử dụng mô -đun argparsegetopt module is similar to the getopt() function of C. Unlike sys module getopt module extends the separation of the input string by parameter validation. It allows both short, and long options including a value assignment. However, this module requires the use of the sys module to process input data properly. To use getopt module, it is required to remove the first element from the list of command-line arguments. 
 

Mô -đun SYS cung cấp các chức năng và biến được sử dụng để thao tác các phần khác nhau của môi trường thời gian chạy Python. Mô -đun này cung cấp quyền truy cập vào một số biến được sử dụng hoặc duy trì bởi trình thông dịch và các chức năng tương tác mạnh mẽ với trình thông dịch. Một biến đó là sys.argv là cấu trúc danh sách đơn giản. Mục đích chính của nó là: getopt.getopt(args, options, [long_options])
Parameters: 
args: List of arguments to be passed. 
options: String of option letters that the script want to recognize. Options that require an argument should be followed by a colon (:). 
long_options: List of string with the name of long options. Options that require arguments should be followed by an equal sign (=).
Return Type: Returns value consisting of two elements: the first is a list of (option, value) pairs. The second is the list of program arguments left after the option list was stripped. 
 

Example:

Python3

Nó là một danh sách các đối số dòng lệnh.

Len (sys.argv) cung cấp số lượng đối số dòng lệnh.

sys.argv [0] là tên của tập lệnh Python hiện tại. & nbsp; & nbsp;

Ví dụ: Hãy giả sử rằng có một tập lệnh Python để thêm hai số và các số được truyền dưới dạng đối số dòng lệnh. & NBSP;

from sys import argv
arg1, arg2, arg3, ... = argv
7
from sys import argv
arg1, arg2, arg3, ... = argv
8

#!/usr/bin/python

import sys

print 'Number of arguments:', len(sys.argv), 'arguments.'
print 'Argument List:', str(sys.argv)
0
#!/usr/bin/python

import sys

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

#!/usr/bin/python

import sys

print 'Number of arguments:', len(sys.argv), 'arguments.'
print 'Argument List:', str(sys.argv)
2
#!/usr/bin/python

import sys

print 'Number of arguments:', len(sys.argv), 'arguments.'
print 'Argument List:', str(sys.argv)
3
#!/usr/bin/python

import sys

print 'Number of arguments:', len(sys.argv), 'arguments.'
print 'Argument List:', str(sys.argv)
4
#!/usr/bin/python

import sys

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

#!/usr/bin/python

import sys

print 'Number of arguments:', len(sys.argv), 'arguments.'
print 'Argument List:', str(sys.argv)
6
#!/usr/bin/python

import sys

print 'Number of arguments:', len(sys.argv), 'arguments.'
print 'Argument List:', str(sys.argv)
7
$ python test.py arg1 arg2 arg3
8
$ python test.py arg1 arg2 arg3
9
#!/usr/bin/python

import sys

print 'Number of arguments:', len(sys.argv), 'arguments.'
print 'Argument List:', str(sys.argv)
3
Number of arguments: 4 arguments.
Argument List: ['test.py', 'arg1', 'arg2', 'arg3']
1
Number of arguments: 4 arguments.
Argument List: ['test.py', 'arg1', 'arg2', 'arg3']
2

Number of arguments: 4 arguments.
Argument List: ['test.py', 'arg1', 'arg2', 'arg3']
3
Number of arguments: 4 arguments.
Argument List: ['test.py', 'arg1', 'arg2', 'arg3']
4
Number of arguments: 4 arguments.
Argument List: ['test.py', 'arg1', 'arg2', 'arg3']
5
Number of arguments: 4 arguments.
Argument List: ['test.py', 'arg1', 'arg2', 'arg3']
6
#!/usr/bin/python

import sys

print 'Number of arguments:', len(sys.argv), 'arguments.'
print 'Argument List:', str(sys.argv)
7
Number of arguments: 4 arguments.
Argument List: ['test.py', 'arg1', 'arg2', 'arg3']
8
Number of arguments: 4 arguments.
Argument List: ['test.py', 'arg1', 'arg2', 'arg3']
9

getopt.getopt(args, options, [long_options])
0
#!/usr/bin/python

import sys

print 'Number of arguments:', len(sys.argv), 'arguments.'
print 'Argument List:', str(sys.argv)
6
getopt.getopt(args, options, [long_options])
2
#!/usr/bin/python

import sys

print 'Number of arguments:', len(sys.argv), 'arguments.'
print 'Argument List:', str(sys.argv)
3
Number of arguments: 4 arguments.
Argument List: ['test.py', 'arg1', 'arg2', 'arg3']
1
Number of arguments: 4 arguments.
Argument List: ['test.py', 'arg1', 'arg2', 'arg3']
2

getopt.getopt(args, options, [long_options])
6
#!/usr/bin/python

import sys

print 'Number of arguments:', len(sys.argv), 'arguments.'
print 'Argument List:', str(sys.argv)
3
$ python test.py arg1 arg2 arg3
4

>>> x = 1
>>> print eval('x+1')
2
8
#!/usr/bin/python

import sys

print 'Number of arguments:', len(sys.argv), 'arguments.'
print 'Argument List:', str(sys.argv)
13
#!/usr/bin/python

import sys

print 'Number of arguments:', len(sys.argv), 'arguments.'
print 'Argument List:', str(sys.argv)
00
Number of arguments: 4 arguments.
Argument List: ['test.py', 'arg1', 'arg2', 'arg3']
5
#!/usr/bin/python

import sys

print 'Number of arguments:', len(sys.argv), 'arguments.'
print 'Argument List:', str(sys.argv)
7
#!/usr/bin/python

import sys

print 'Number of arguments:', len(sys.argv), 'arguments.'
print 'Argument List:', str(sys.argv)
33
#!/usr/bin/python

import sys, getopt

def main(argv):
   inputfile = ''
   outputfile = ''
   try:
      opts, args = getopt.getopt(argv,"hi:o:",["ifile=","ofile="])
   except getopt.GetoptError:
      print 'test.py -i  -o '
      sys.exit(2)
   for opt, arg in opts:
      if opt == '-h':
         print 'test.py -i  -o '
         sys.exit()
      elif opt in ("-i", "--ifile"):
         inputfile = arg
      elif opt in ("-o", "--ofile"):
         outputfile = arg
   print 'Input file is "', inputfile
   print 'Output file is "', outputfile

if __name__ == "__main__":
   main(sys.argv[1:])
5
#!/usr/bin/python

import sys

print 'Number of arguments:', len(sys.argv), 'arguments.'
print 'Argument List:', str(sys.argv)
35
#!/usr/bin/python

import sys

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

#!/usr/bin/python

import sys

print 'Number of arguments:', len(sys.argv), 'arguments.'
print 'Argument List:', str(sys.argv)
07
#!/usr/bin/python

import sys

print 'Number of arguments:', len(sys.argv), 'arguments.'
print 'Argument List:', str(sys.argv)
6
#!/usr/bin/python

import sys

print 'Number of arguments:', len(sys.argv), 'arguments.'
print 'Argument List:', str(sys.argv)
39
#!/usr/bin/python

import sys

print 'Number of arguments:', len(sys.argv), 'arguments.'
print 'Argument List:', str(sys.argv)
40
#!/usr/bin/python

import sys

print 'Number of arguments:', len(sys.argv), 'arguments.'
print 'Argument List:', str(sys.argv)
41
#!/usr/bin/python

import sys

print 'Number of arguments:', len(sys.argv), 'arguments.'
print 'Argument List:', str(sys.argv)
42
#!/usr/bin/python

import sys

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

#!/usr/bin/python

import sys

print 'Number of arguments:', len(sys.argv), 'arguments.'
print 'Argument List:', str(sys.argv)
44
#!/usr/bin/python

import sys

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

getopt.getopt(args, options, [long_options])
0
#!/usr/bin/python

import sys

print 'Number of arguments:', len(sys.argv), 'arguments.'
print 'Argument List:', str(sys.argv)
6
#!/usr/bin/python

import sys

print 'Number of arguments:', len(sys.argv), 'arguments.'
print 'Argument List:', str(sys.argv)
7
#!/usr/bin/python

import sys

print 'Number of arguments:', len(sys.argv), 'arguments.'
print 'Argument List:', str(sys.argv)
49
#!/usr/bin/python

import sys

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

Output: 
 

Hướng dẫn can you pass arguments to python script? - bạn có thể chuyển đối số vào tập lệnh python không?

Sử dụng mô -đun argparse

Sử dụng mô -đun ArgParse là một tùy chọn tốt hơn so với hai tùy chọn ở trên vì nó cung cấp rất nhiều tùy chọn như đối số vị trí, giá trị mặc định cho các đối số, thông báo trợ giúp, chỉ định loại dữ liệu của đối số, v.v. & NBSP; & NBSP;
 

Lưu ý: Là một đối số tùy chọn mặc định, nó bao gồm -h, cùng với phiên bản dài của nó As a default optional argument, it includes -h, along with its long version –help.
 

Ví dụ 1: Sử dụng cơ bản mô -đun Argparse. & NBSP; Basic use of argparse module.
 

Python3

#!/usr/bin/python

import sys

print 'Number of arguments:', len(sys.argv), 'arguments.'
print 'Argument List:', str(sys.argv)
0
#!/usr/bin/python

import sys

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

#!/usr/bin/python

import sys

print 'Number of arguments:', len(sys.argv), 'arguments.'
print 'Argument List:', str(sys.argv)
53
#!/usr/bin/python

import sys

print 'Number of arguments:', len(sys.argv), 'arguments.'
print 'Argument List:', str(sys.argv)
3
#!/usr/bin/python

import sys

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

#!/usr/bin/python

import sys

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

Output: 
 

Hướng dẫn can you pass arguments to python script? - bạn có thể chuyển đối số vào tập lệnh python không?

& nbsp; & nbsp; Ví dụ 2: Thêm mô tả vào thông báo trợ giúp. & nbsp;
Example 2: Adding description to the help message.
 

Python3

#!/usr/bin/python

import sys

print 'Number of arguments:', len(sys.argv), 'arguments.'
print 'Argument List:', str(sys.argv)
0
#!/usr/bin/python

import sys

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

#!/usr/bin/python

import sys

print 'Number of arguments:', len(sys.argv), 'arguments.'
print 'Argument List:', str(sys.argv)
53
#!/usr/bin/python

import sys

print 'Number of arguments:', len(sys.argv), 'arguments.'
print 'Argument List:', str(sys.argv)
3
#!/usr/bin/python

import sys

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

& nbsp; & nbsp; Ví dụ 2: Thêm mô tả vào thông báo trợ giúp. & nbsp;

#!/usr/bin/python

import sys

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

#!/usr/bin/python

import sys

print 'Number of arguments:', len(sys.argv), 'arguments.'
print 'Argument List:', str(sys.argv)
59
#!/usr/bin/python

import sys

print 'Number of arguments:', len(sys.argv), 'arguments.'
print 'Argument List:', str(sys.argv)
3
#!/usr/bin/python

import sys

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

 

Hướng dẫn can you pass arguments to python script? - bạn có thể chuyển đối số vào tập lệnh python không?

#!/usr/bin/python

import sys

print 'Number of arguments:', len(sys.argv), 'arguments.'
print 'Argument List:', str(sys.argv)
53
#!/usr/bin/python

import sys

print 'Number of arguments:', len(sys.argv), 'arguments.'
print 'Argument List:', str(sys.argv)
3
#!/usr/bin/python

import sys

print 'Number of arguments:', len(sys.argv), 'arguments.'
print 'Argument List:', str(sys.argv)
64
#!/usr/bin/python

import sys

print 'Number of arguments:', len(sys.argv), 'arguments.'
print 'Argument List:', str(sys.argv)
3
#!/usr/bin/python

import sys

print 'Number of arguments:', len(sys.argv), 'arguments.'
print 'Argument List:', str(sys.argv)
66
Example 3: Defining optional value
 

Python3

#!/usr/bin/python

import sys

print 'Number of arguments:', len(sys.argv), 'arguments.'
print 'Argument List:', str(sys.argv)
0
#!/usr/bin/python

import sys

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

#!/usr/bin/python

import sys

print 'Number of arguments:', len(sys.argv), 'arguments.'
print 'Argument List:', str(sys.argv)
53
#!/usr/bin/python

import sys

print 'Number of arguments:', len(sys.argv), 'arguments.'
print 'Argument List:', str(sys.argv)
3
#!/usr/bin/python

import sys

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

& nbsp; & nbsp; Ví dụ 2: Thêm mô tả vào thông báo trợ giúp. & nbsp;

#!/usr/bin/python

import sys

print 'Number of arguments:', len(sys.argv), 'arguments.'
print 'Argument List:', str(sys.argv)
59
#!/usr/bin/python

import sys

print 'Number of arguments:', len(sys.argv), 'arguments.'
print 'Argument List:', str(sys.argv)
3
#!/usr/bin/python

import sys

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

#!/usr/bin/python

import sys

print 'Number of arguments:', len(sys.argv), 'arguments.'
print 'Argument List:', str(sys.argv)
53
#!/usr/bin/python

import sys

print 'Number of arguments:', len(sys.argv), 'arguments.'
print 'Argument List:', str(sys.argv)
3
#!/usr/bin/python

import sys

print 'Number of arguments:', len(sys.argv), 'arguments.'
print 'Argument List:', str(sys.argv)
64
#!/usr/bin/python

import sys

print 'Number of arguments:', len(sys.argv), 'arguments.'
print 'Argument List:', str(sys.argv)
3
#!/usr/bin/python

import sys

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

Đầu ra: & nbsp;

Output: 
 

Hướng dẫn can you pass arguments to python script? - bạn có thể chuyển đối số vào tập lệnh python không?


Làm thế nào để bạn thêm các đối số vào tập lệnh Python?

Để thêm các đối số vào các tập lệnh Python, bạn sẽ phải sử dụng một mô-đun tích hợp có tên là Arg Argparse. Như tên cho thấy, nó phân tích các đối số dòng lệnh được sử dụng trong khi khởi chạy tập lệnh hoặc ứng dụng Python. Các đối số phân tích cú pháp này cũng được kiểm tra bởi mô -đun Arg Argparse để đảm bảo rằng chúng thuộc loại đúng kiểu.use a built-in module named “argparse”. As the name suggests, it parses command line arguments used while launching a Python script or application. These parsed arguments are also checked by the “argparse” module to ensure that they are of proper “type”.

Làm thế nào để bạn vượt qua các đối số trong một kịch bản?

Các đối số có thể được chuyển đến tập lệnh khi nó được thực thi, bằng cách viết chúng dưới dạng danh sách được phân phối không gian theo tên tệp tập lệnh.Bên trong tập lệnh, biến $ 1 tham chiếu đối số đầu tiên trong dòng lệnh, $ 2 đối số thứ hai và vv.Biến $ 0 tham chiếu đến tập lệnh hiện tại.by writing them as a space-delimited list following the script file name. Inside the script, the $1 variable references the first argument in the command line, $2 the second argument and so forth. The variable $0 references to the current script.

Danh sách nào trong Python chứa các đối số được chuyển cho một kịch bản?

Mô -đun SYS hiển thị một mảng có tên Argv bao gồm các mục sau: Argv [0] chứa tên của chương trình Python hiện tại.Argv [1:], phần còn lại của danh sách, chứa bất kỳ và tất cả các đối số dòng lệnh Python được chuyển cho chương trình.argv[1:] , the rest of the list, contains any and all Python command line arguments passed to the program.