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

Doi So Dong Lenh Trong Python



Python là một ngôn ngữ cấp cao được thiết kế để thực hiện các mã chung chứ không phải cho bất kỳ vấn đề cụ thể nào. Chúng tôi có thể sử dụng nó cho các mục đích chung như tạo trang web bằng python hoặc phân tích dữ liệu bằng ngôn ngữ python này. Lập trình “Python” cũng cung cấp các đối số dòng lệnh. Đối số dòng lệnh là những đối số mà chúng tôi đã đưa ra trên bảng điều khiển hoặc thiết bị đầu cuối của bất kỳ hệ điều hành nào sau khi đề cập đến tên của tệp mã cùng với phần mở rộng tệp. Chúng ta cũng có thể định nghĩa nó là, trong bất kỳ chương trình nào, giá trị được chuyển qua dấu nhắc lệnh được cho là Đối số dòng lệnh. Trong hướng dẫn này, chúng ta sẽ thảo luận về đối số dòng lệnh trong lập trình 'Python'.

Phương thức cho đối số dòng lệnh trong Python

Chúng tôi sẽ giải thích tất cả các phương pháp một cách chi tiết trong hướng dẫn này và cũng cho thấy minh chứng thực tế của tất cả các phương pháp đó.







Ví dụ # 01: Bằng Phương pháp sys.argv

Chúng tôi đang thực hiện các mã python này trong ứng dụng 'Spyder'. Chúng ta có thể truy cập các biến và hàm dòng lệnh bằng cách nhập hệ thống. Vì vậy, chúng tôi nhập “sys” và sau đó chúng tôi khai báo và khởi tạo biến “num” với “len (sys.argv)”. “Argv” sẽ là danh sách các giá trị chuỗi là các đối số mà dòng lệnh của chúng ta sẽ trở thành. “Len” đại diện cho độ dài của các đối số được truyền vào. Vì vậy, trong biến “num”, số lượng các giá trị được truyền vào thiết bị đầu cuối khi dòng lệnh được lưu trữ.



Chúng tôi cũng hiển thị những số đối số được chuyển bằng cách sử dụng 'in'. Dưới đây, chúng tôi đặt “sys.argv [0]” trong câu lệnh in. “Argv” luôn giữ tên chương trình hoặc tên tệp mã. Vì vậy, tên của tệp chúng tôi đã tạo sẽ được hiển thị trên thiết bị đầu cuối. Sau đó, chúng tôi in các đối số được chuyển trên thiết bị đầu cuối. Nó sẽ in tất cả các số mà chúng ta đã chuyển làm đối số dòng lệnh trên màn hình điều khiển.



Dưới đây, chúng tôi đã xác định một vòng lặp for và khai báo một biến “a” ở đó có phạm vi nằm trong khoảng từ “1” đến độ dài của argv được lưu trữ trong “num”. In tất cả các đối số trên bảng điều khiển. “Argv [a]” chứa tất cả các đối số dòng lệnh. Nó cũng hiển thị chúng trên bảng điều khiển. Bây giờ, chúng tôi đang khởi tạo 'sum' bởi vì chúng tôi muốn tính toán tổng của tất cả các giá trị mà chúng tôi sẽ chuyển vào thời điểm thực thi trên thiết bị đầu cuối.





Chúng tôi lại sử dụng vòng lặp “for” và vượt qua phạm vi. Nhưng lần này, chúng tôi đang tính toán tổng của tất cả các giá trị mà chúng tôi đã chuyển trên thiết bị đầu cuối. Tổng này sẽ được lưu trữ trong biến 'sum'. Sau đó, chúng tôi cũng in ra tổng của tất cả các giá trị mà chúng tôi sẽ chuyển vào thời điểm thực thi trên thiết bị đầu cuối.

nhập khẩu sys
trên một = chỉ có ( sys . argv )
in ( 'Tổng số đối số được chuyển vào đây:' , trên một )
in ( ' \N Tên của tệp Python: ' , sys . argv [ 0 ] )
in ( ' \N Đối số mà chúng tôi đã thông qua: ' , chấm dứt = '' )
một Trong phạm vi ( 1 , trên một ) :
in ( sys . argv [ một ] , chấm dứt = '' )
Tổng = 0
tôi Trong phạm vi ( 1 , trên một ) :
Tổng + = int ( sys . argv [ tôi ] )
in ( ' \N \N Tổng các đối số được truyền: ' , Tổng )



Trên thiết bị đầu cuối, đầu tiên chúng tôi đặt từ khóa 'chạy'. Sau đó, đặt tên tệp cùng với phần mở rộng thích hợp và chuyển các đối số dòng lệnh vào đây. Vì vậy, nó hiển thị tất cả các dòng như chúng ta đã xác định trong đoạn mã trên. Đầu tiên, nó hiển thị độ dài của các đối số dòng lệnh, sau đó là tên của tệp. Sau đó, nó hiển thị tất cả các đối số dòng lệnh và cũng hiển thị tổng của tất cả chúng.

Ví dụ # 02: Theo Phương pháp argparse

Bây giờ, chúng tôi đang sử dụng phương thức 'argparse' trong ví dụ này. Đầu tiên chúng tôi nhập “argparse”. Vì vậy, chúng ta sẽ truy cập các biến và hàm của điều này. Chúng tôi khởi tạo một biến 'dữ liệu' và lưu trữ một dòng mà chúng tôi sẽ sử dụng trong mã của mình. Sau đó, chúng tôi đang khởi tạo một “trình phân tích cú pháp” và trong “mô tả”, chúng tôi chuyển biến “data”, trong đó chúng tôi đã lưu trữ thông báo mà chúng tôi muốn hiển thị và chúng tôi đặt tất cả những thứ này vào biến “my_parser”. Chúng tôi cũng đặt “parse.args ()” ở cuối.

nhập khẩu argparse

dữ liệu = 'Chúng tôi đang sử dụng phương pháp argparse ở đây'

my_parser = tranh cãi. ArgumentParser ( sự mô tả = dữ liệu )

my_parser. parse_args ( )

Nhìn vào kết quả bên dưới. Khi chúng ta truyền “-h” làm đối số dòng lệnh, trước tiên nó sẽ hiển thị thông báo mà chúng ta đã lưu trữ trong biến “data” và cũng hiển thị “đối số tùy chọn” vì “h” này hiển thị thông báo trợ giúp. Khi chúng tôi đặt “-o” làm đối số dòng lệnh, nó sẽ hiển thị thông báo lỗi rằng đó là đối số không được công nhận.

Ví dụ # 03: Bằng Phương pháp getopt

Đây là phương pháp cuối cùng mà chúng tôi đang sử dụng trong mã này. Chúng tôi đang nhập 'sys' cũng như 'getopt' trong mã này. “Getopt” này là trình phân tích cú pháp mà chúng tôi đã sử dụng cho các đối số dòng lệnh. Sau đó, trong biến “objectsList”, chúng ta đã truyền “sys.argv [1:]” để loại bỏ đối số đầu tiên mà chúng ta đang truyền trong dòng lệnh. Chúng tôi khởi tạo “my_option” bằng “hmo:”.

Sau đó, chúng tôi đang khởi tạo biến “my_long_option”. Chúng tôi sử dụng 'thử' ở đây để kiểm tra lỗi. Sau đó, chúng tôi đang phân tích cú pháp các đối số. 'Getopt' cung cấp cả tùy chọn ngắn và dài, cùng với tùy chọn chỉ định một giá trị. Sau đó, chúng tôi đang kiểm tra tất cả các đối số mà chúng tôi sẽ chuyển dưới dạng đối số dòng lệnh. Nếu đối số dòng lệnh là “-h” hoặc “–Help”, nó sẽ in ra thông báo được đưa ra bên dưới. Nếu đối số dòng lệnh là “-m” hoặc “—My_file”, nó sẽ hiển thị thông báo được viết sau đó.

Ngoài ra, nếu đối số dòng lệnh là “-o” hoặc “–Output”, nó cũng hiển thị thông báo mà chúng ta đã viết ở đây sau đó. Nếu đối số dòng lệnh không phải từ tất cả những điều trên, nó sẽ hiển thị thông báo lỗi khi chúng ta đã đặt “getopt. lỗi ”trong mã.

nhập khẩu đứng đầu , sys
đối số = sys . argv [ 1 : ]
my_options = 'đêm:'
new_long_options = [ 'Cứu giúp' , 'Tập tin của tôi' , 'Đầu ra ='
thử :
tranh luận , giá trị = đứng đầu . đứng đầu ( đối số , my_options , new_long_options )
my_Argument , my_Value Trong tranh luận:
nếu my_Argument Trong ( '-h' , '--Cứu giúp' ) :
in ( 'Hiển thị Trợ giúp' )
elif my_Argument Trong ( '-m' , '--Tập tin của tôi' ) :
in ( 'Đang hiển thị tên tệp:' , sys . argv [ 0 ] )
elif my_Argument Trong ( '-O' , '- Đầu ra' ) :
in ( ( 'Bật chế độ đầu ra đặc biệt (% s)' ) % ( my_Value ) )
ngoại trừ đứng đầu . lỗi như lỗi:
in ( str ( sai lầm ) )

Ở đây, bạn thấy rằng khi chúng ta đặt “-h” làm dòng lệnh, nó sẽ hiển thị cùng một thông báo mà chúng ta đã viết trong mã. Khi chúng ta đặt hai đối số dòng lệnh là “–Help” và cả “-m”, nó sẽ hiển thị hai thông báo bên dưới. Trong đối số dòng lệnh “-o”, chúng ta cũng đã chuyển chuỗi cũng được hiển thị trong thông báo.

Sự kết luận

Chúng tôi đã cung cấp hướng dẫn này để giúp bạn tìm hiểu khái niệm 'đối số dòng lệnh' trong 'Python'. Chúng tôi đã khám phá “đối số dòng lệnh” và cũng giải thích ba phương pháp ở đây. Chúng tôi đã giải thích đối số dòng lệnh là quá trình truyền các giá trị cho chương trình cùng với tên chương trình theo thời gian thực hiện thông qua dấu nhắc lệnh.