Hướng dẫn how do you pass a command line argument to the main in python? - làm thế nào để bạn chuyển một đối số dòng lệnh cho chính trong python?

Ví dụ hôm nay là chương trình

$ python3 affirm.py -affirm Lisa
1 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 Lisa
2.

affirm.zip

Đối số dòng lệnh -Tên xác nhận

Chương trình

$ python3 affirm.py -affirm Lisa
1 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 Lisa
4 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 Lisa
5 và
$ python3 affirm.py -affirm Lisa
6 là 2 dòng lệnh arg.

Hướng dẫn how do you pass a command line argument to the main in python? - làm thế nào để bạn chuyển một đối số dòng lệnh cho chính trong python?

Các đối số dòng lệnh như

$ python3 affirm.py -affirm Lisa
5 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 Lisa
8, 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 Lisa
9, 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 Bart
0 thiết lập một danh sách có tên
$ python3 affirm.py -hello Bart
Hello Bart
1 để 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 Bart
1 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 Bart
3

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 Bart
4

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 Bart
1. 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 Lisa
5 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 Lisa
5 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 Bart
8) là
$ python3 affirm.py -affirm Lisa
5. 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 Maggie 
0 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 Bart
8 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 Maggie 
2 không?

A: Danh sách

$ python3 affirm.py -hello Bart
Hello Bart
1 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 Maggie 
2 và
$ python3 affirm.py -hello Bart
Hello Bart
8 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 Lisa
1 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 Lisa
2 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 Maggie 
8 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 Maggie 
9 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 Maggie 
9 đã đượ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 Lisa
0

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 Bart
1 chính xác chỉ là các đối số dòng lệnh. & nbsp;

Bản quyền 2020 Nick Parlante

Làm thế nào để bạn chuyển một đối số cho chính trong Python?

Dòng lệnh args mã python chính () ở trên bắt đầu bằng một dòng tiêu chuẩn CS106A args = sys.argv [1:] thiết lập một danh sách có tên Args để 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ó.args = sys. argv[1:] which sets up a list named args to contain the command line arg strings. This line works and you can always use it.

Chúng ta có thể truyền đối số trong chức năng chính trong Python không?

Thông tin có thể được truyền vào các chức năng như đối số.Đối số được chỉ định sau tên hàm, bên trong dấu ngoặc đơn.. Arguments are specified after the function name, inside the parentheses.

Làm thế nào để bạn chuyển một đối số cho một chức năng chính?

Các đối số dòng lệnh được đưa ra theo tên của chương trình trong shell dòng lệnh của các hệ điều hành.Để vượt qua các đối số dòng lệnh, chúng tôi thường xác định main () với hai đối số: đối số thứ nhất là số lượng đối số dòng lệnh và thứ hai là danh sách các đối số dòng lệnh.define main() with two arguments : first argument is the number of command line arguments and second is list of command-line arguments.

Khi các đối số dòng lệnh được chuyển đến chính?

Giải thích: Đối số dòng lệnh là các đối số được truyền đến chức năng chính khi chương trình đang bắt đầu thực thi.2.when the program is starting its execution. 2.