python命令行定义和参数读取

文章目录

argparse库

argparse库:python 标准库中推荐的命令行解析模块,可用于定义python命令

官方文档:https://docs.python.org/zh-cn/3.7/howto/argparse.html

# demo.py
import argparse


parser = argparse.ArgumentParser()
parser.add_argument("square", type=int, help="display a square of a given number")
parser.add_argument("-v", "--verbosity", type=int, choices=[0, 1, 2], help="increase output verbosity")
args = parser.parse_args()
answer = args.square**2
if args.verbosity == 2:
    print("the square of {} equals {}".format(args.square, answer))
elif args.verbosity == 1:
    print("{}^2 == {}".format(args.square, answer))
else:
    print(answer)

>
ApiFrame % python demo.py 2
4
ApiFrame % python demo.py 2 -v 1
2^2 == 4
ApiFrame % python demo.py 2 -v 2
the square of 2 equals 4
ApiFrame % python demo.py 2 -v 0
4
ApiFrame % python demo.py -h     
usage: demo.py [-h] [-v {
    
    0,1,2}] square

positional arguments:
  square                display a square of a given number

optional arguments:
  -h, --help            show this help message and exit
  -v {
    
    0,1,2}, --verbosity {
    
    0,1,2}
                        increase output verbosity

sys.argv

参考文档:https://www.runoob.com/python/python-command-line-arguments.html

# demo.py

import sys

print('参数个数为:', len(sys.argv), '个参数')
print('参数列表:', str(sys.argv))
print('文件名称为:', str(sys.argv[0]))


>
ApiFrame % python demo.py 1 2 3 4
参数个数为: 5 个参数
参数列表: ['demo.py', '1', '2', '3', '4']
文件名称为: demo.py

猜你喜欢

转载自blog.csdn.net/qq_25672165/article/details/110114996