Computer >> Máy Tính >  >> Lập trình >> Python

Dòng lệnh và đối số biến trong Python?

Đối số dòng lệnh

Đối số dòng lệnh là các tham số đầu vào cho phép người dùng cho phép chương trình hoạt động theo một cách nhất định như xuất thông tin bổ sung hoặc đọc dữ liệu từ một nguồn được chỉ định hoặc diễn giải dữ liệu ở định dạng mong muốn.

Đối số dòng lệnh trong Python

Python cung cấp nhiều tùy chọn để đọc các đối số dòng lệnh. Các cách phổ biến nhất là -

  • Python sys.argv
  • Mô-đun getopt của Python
  • Mô-đun argparse trong Python

Mô-đun hệ thống Python

Mô-đun sys lưu trữ các đối số dòng lệnh (CLA) vào một danh sách và để truy xuất nó, chúng tôi sử dụng sys.argv. Đó là một cách đơn giản để đọc các đối số dòng lệnh dưới dạng chuỗi.

import sys

print(type(sys.argv))
print('The command line arguments are: ')
for i in sys.argv:
print(i)

Một chương trình đang chạy ở trên, đầu ra của chúng ta sẽ giống như -

Đầu ra

>python CommandLineOption.py H E L L O
<class 'list'>
The command line arguments are:
CommandLineOption.py
H
E
L
L
O

Mô-đun getopt của Python

Mô-đun getopt của python phân tích cú pháp một chuỗi đối số như sys.argv và trả về chuỗi các cặp tùy chọn &đối số và chuỗi các đối số không phải tùy chọn.

Cú pháp

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

ở đâu:

  • Args - Danh sách đối số được phân tích cú pháp

  • Tùy chọn - Đây là chuỗi ký tự tùy chọn mà tập lệnh muốn nhận dạng.

  • Long_options - Đây là tham số tùy chọn, là danh sách các chuỗi với tên của các tùy chọn dài cần được hỗ trợ.

Cú pháp tùy chọn mô-đun getopt bao gồm -

  • -a
  • -bval
  • -b val
  • --noarg
  • --witharg =val
  • --witharg val

Chúng ta hãy hiểu mô-đun getopt thông qua một ví dụ -

Tùy chọn biểu mẫu ngắn

Chương trình bên dưới có hai tùy chọn, -a và –b với tùy chọn thứ hai yêu cầu một đối số.

import getopt
print (getopt.getopt(['-a', '-bval', '-c', 'val'], 'ab:c:'))

Kết quả

([('-a', ''), ('-b', 'val'), ('-c', 'val')], [])

Tùy chọn biểu mẫu dài

Chương trình có hai tùy chọn, --noarg và –witharg và trình tự phải là [‘noarg’, ‘witharg =’]

import getopt
print (getopt.getopt([ '--noarg', '--witharg', 'val', '--witharg2=another' ],'',[ 'noarg', 'witharg=', 'witharg2=' ]))

Kết quả

([('--noarg', ''), ('--witharg', 'val'), ('--witharg2',
'another')], [])

Một ví dụ khác để chứng minh công dụng của mô-đun địa lý -

import getopt
import sys
argv = sys.argv[1:]
try:
opts, args = getopt.getopt(argv, 'hm:d', ['help', 'my_file='])
print(opts)
print(args)
except getopt.GetoptError:
print('Something Wrong!')
sys.exit(2)

Kết quả

>python CommandLineOption.py -m 2 -h "Help" H E L L O
[('-m', '2'), ('-h', '')]
['Help', 'H', 'E', 'L', 'L', 'O']

Mô-đun argparse trong Python

Mô-đun argparse trong Python là cách ưu tiên để phân tích cú pháp các đối số dòng lệnh. Mô-đun này cung cấp một số tùy chọn như đối số vị trí, giá trị mặc định cho đối số, thông báo trợ giúp, chỉ định kiểu dữ liệu của đối số, v.v.

Dưới đây là một chương trình đơn giản để hiểu mô-đun argparse -

import argparse
parser = argparse.ArgumentParser()
parser.add_argument("string", help="Print the word in upper case letters")
args = parser.parse_args()
print(args.string.upper()) # This way argument can be manipulated.

Đầu ra

>python CommandLineOption.py "Hello, pythoN"
HELLO, PYTHON

Chúng ta có thể đặt đối số tùy chọn với mô-đun argparse như –verbosity.