Ví dụ hôm nay là chương trình
$ python3 affirm.py -affirm Lisa1 mà bạn có thể tải xuống nếu bạn muốn tự mình thử. Một số mã được thực hiện như một bài tập trong tệp
$ python3 affirm.py -affirm Lisa2.
affirm.zip
Đối số dòng lệnh -Tên xác nhận
Chương trình
$ python3 affirm.py -affirm Lisa1 có một vài tùy chọn để nói những điều tốt đẹp về một cái tên. Dưới đây là ba lần chạy của chương trình trong dòng lệnh. Những gì người dùng là in đậm, theo sau là đầu ra in của chương trình.
$ python3 affirm.py -affirm Lisa Everything is coming up Lisa $ python3 affirm.py -affirm Bart Looking good Bart $ python3 affirm.py -affirm Maggie Today is the day for Maggie $
Đối số dòng lệnh, hoặc "args", là thông tin bổ sung được gõ trên dòng khi một chương trình được chạy. Hệ thống này đơn giản một cách quyết liệt - các đối số dòng lệnh là các từ được gõ sau
$ python3 affirm.py -affirm Lisa4 trên dòng lệnh, được tách ra với nhau bằng khoảng trắng. Vì vậy, trong lần đầu tiên trong dòng lệnh này:
$ python3 affirm.py -affirm Lisa
Các từ
$ python3 affirm.py -affirm Lisa5 và
$ python3 affirm.py -affirm Lisa6 là 2 dòng lệnh arg.
Các đối số dòng lệnh như
$ python3 affirm.py -affirm Lisa5 thường chọn một chế độ hoặc tùy chọn để chạy chương trình và các tùy chọn này thường bắt đầu bằng dấu gạch ngang như chúng ta có ở đây.
-Hello Tên
Với tùy chọn
$ python3 affirm.py -affirm Lisa8, chương trình in một lời chào đơn giản như thế này:
$ python3 affirm.py -hello Bart Hello Bart
-n tên num
Với tùy chọn
$ python3 affirm.py -affirm Lisa9, chương trình in tên một số lần, như thế này.
$ python3 affirm.py -n 10 Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie $ python3 affirm.py -n 100 Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie
Trong các ví dụ trên, số lượng đối số dòng lệnh là ba: -n, số, tên
Dòng lệnh args mã python
def main[] args = sys.argv[1:] # args is a list of the command line args
Main [] ở trên bắt đầu với dòng tiêu chuẩn CS106A
$ python3 affirm.py -hello Bart Hello Bart0 thiết lập một danh sách có tên
$ python3 affirm.py -hello Bart Hello Bart1 để chứa các chuỗi ARG dòng lệnh. Dòng này hoạt động và bạn luôn có thể sử dụng nó. Nếu bạn muốn biết "sys.argv" là gì, hãy xem phần cuối của tài liệu này.
Danh sách
$ python3 affirm.py -hello Bart Hello Bart1 chứa một chuỗi cho mỗi đối số dòng lệnh.
1. Đối với dòng lệnh này:
$ python3 affirm.py -affirm Lisa
Args là danh sách
$ python3 affirm.py -hello Bart Hello Bart3
2. Đối với dòng lệnh này
$ python3 affirm.py -n 10 Maggie
Args là danh sách
$ python3 affirm.py -hello Bart Hello Bart4
Tuy nhiên, nhiều đối số dòng lệnh mà người dùng đã nhập vào, họ sẽ điền vào danh sách
$ python3 affirm.py -hello Bart Hello Bart1. Lưu ý rằng các arg trong danh sách luôn luôn là chuỗi.strings.
Cách viết Main []
Mã trong main [] có thể sử dụng một chuỗi các statators đơn giản để phát hiện các tùy chọn khác nhau, chẳng hạn như
$ python3 affirm.py -affirm Lisa5 và chạy mã thích hợp cho mỗi tùy chọn.
Ví dụ: xem xét việc chạy chương trình với tùy chọn
$ python3 affirm.py -affirm Lisa5 như thế này:
$ python3 affirm.py -affirm Lisa
Dưới đây là if-satement trong main [] phát hiện tùy chọn dòng lệnh này và chạy mã cho nó. Mã kiểm tra xem số lượng ARGS là 2 và ARG đầu tiên [nghĩa là
$ python3 affirm.py -hello Bart Hello Bart8] là
$ python3 affirm.py -affirm Lisa5. Nếu vậy, nó in tên trong
$ python3 affirm.py -n 10 Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie $ python3 affirm.py -n 100 Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie0 với một sự khẳng định ngẫu nhiên.
def main[] args = sys.argv[1:] # 1. Check for the arg pattern: # python3 affirm.py -affirm Bart # e.g. args[0] is '-affirm' and args[1] is 'Bart' if len[args] == 2 and args[0] == '-affirm': # Select random nice phrase affirmation = random.choice[AFFIRMATIONS] # Print with the name in args[1] print[affirmation, args[1]] # .. later if statements for -hello and -n ...
Hỏi: Tại sao kiểm tra xem
$ python3 affirm.py -hello Bart Hello Bart8 có bằng
$ python3 affirm.py -n 10 Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie $ python3 affirm.py -n 100 Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie2 không?
A: Danh sách
$ python3 affirm.py -hello Bart Hello Bart1 giữ dòng lệnh ARG. Trong trường hợp này, chúng tôi muốn kiểm tra xem dòng lệnh đầu tiên ARG là chuỗi
$ python3 affirm.py -n 10 Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie $ python3 affirm.py -n 100 Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie2 và
$ python3 affirm.py -hello Bart Hello Bart8 là ARG đầu tiên.
Chuỗi chính []
Xem xét việc sử dụng tùy chọn -N
python3 affirm.py -n 10 Maggie
Các giá trị trong danh sách Args luôn luôn là chuỗi. Trong trường hợp này ARGS [0] là chuỗi '-n' và args [1] là chuỗi '100'. Mã cần chuyển đổi chuỗi '100' thành giá trị int 100 bằng hàm int [].strings. In this case args[0] is the string '-n' and args[1] is the string '100'. The code needs to convert the string '100' to the int value 100 using the int[] function.
Ví dụ và bài tập
Tệp
$ python3 affirm.py -affirm Lisa1 có cả ba tùy chọn dòng lệnh hoạt động: -affirm, -hello, -n
Bạn có thể chạy chương trình để xem nó làm gì và xem mã chính [] làm ví dụ.
Tệp
$ python3 affirm.py -affirm Lisa2 là như nhau, nhưng không có mã cho -hello và -n, vì vậy bạn có thể thực hành mã hóa các trường hợp đó.
Có gì với sys.argv?
Mô -đun
$ python3 affirm.py -n 10 Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie $ python3 affirm.py -n 100 Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie8 giữ các giao diện cho hệ điều hành và đặc biệt là nó chứa một danh sách với tên không may
$ python3 affirm.py -n 10 Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie $ python3 affirm.py -n 100 Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie9 giữ các đối số dòng lệnh. Cái tên
$ python3 affirm.py -n 10 Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie $ python3 affirm.py -n 100 Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie Maggie9 đã được chọn vào khoảng năm 1974, và kể từ đó, các ngôn ngữ lập trình liên tiếp chỉ giữ tên đó. Theo quy ước, danh sách Argv chứa một chuỗi bổ sung tại INDEX 0, tên của chính tập lệnh, ví dụ: 'Assirm.py'. Chuỗi bổ sung này không hữu ích cho chúng tôi. Do đó, chúng tôi tạo danh sách Args như thế này:
$ python3 affirm.py -affirm Lisa0
Chúng tôi chọn tên hợp lý hơn "Args" để giữ dòng lệnh ARGS và chúng tôi sử dụng một lát để bỏ qua chuỗi không có ích tại INDEX 0, do đó tạo danh sách
$ python3 affirm.py -hello Bart Hello Bart1 chính xác chỉ là các đối số dòng lệnh. & nbsp;
Bản quyền 2020 Nick Parlante