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...