Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Cách thực thi hàm với nhiều đối số từ terminal

Sử dụng sys.argv để lấy đối số dòng lệnh.

File: fubar.py

import sys

def print_funcargs(arg1, arg2, arg3):
    print(arg1 + ' ' + arg2 + ' ' + arg3)

if __name__ == "__main__":
    a = sys.argv[1]
    b = sys.argv[2]
    c = sys.argv[3]
    print_funcargs(a, b, c)
    print(sys.argv)

Chạy từ terminal

$ python fubar.py I adore books
I adore books
['fubar.py', 'I', 'adore', 'books']

Cải tiến với argparse (khuyên dùng)

import argparse

def main():
    parser = argparse.ArgumentParser()
    parser.add_argument('arg1')
    parser.add_argument('arg2')
    parser.add_argument('arg3')
    args = parser.parse_args()
    print_funcargs(args.arg1, args.arg2, args.arg3)

if __name__ == "__main__":
    main()

argparse hỗ trợ: help tự động, type checking, optional args, default values...