python argparse模块的使用(1)

argparse模块的使用案例

  • 1. 内容说明
  • 2. 建立Rec_S.py文件
    • (1)Rec_S.py文件代码
    • (2)在jupyter notebook里调用Rec_S.py
  • 3. 建立Rec_S_arg.py
    • (1)Rec_S_arg.py代码
    • (2)在jupyter notebook里调用Rec_S_arg.py
  • 4. 总结对比

1. 内容说明

以计算长方形的面积为例,分别建立并调用Rec_S.py和Rec_S_arg.py两个文件,对比说明argparse的基本使用。

2. 建立Rec_S.py文件

建立名称为Rec_S.py的文件,以演示一般情况下如何计算长方形面积。

(1)Rec_S.py文件代码

# 计算长方形(Rectangle)的面积
"""
输入长方形的长(a)和宽(b),返回面积(s)
s = a * b
"""
def Rec_S(a,b):
    s = a * b
    return s
if __name__ == '__main__':
    print(Rec_S(5,3))

(2)在jupyter notebook里调用Rec_S.py

python argparse模块的使用(1)_第1张图片

3. 建立Rec_S_arg.py

建立名称为Rec_S_arg.py的文件,以演示调用了argparse模块的情况下如何计算长方形面积。

(1)Rec_S_arg.py代码

# 计算长方形(Rectangle)的面积(添加argparse模块)
"""
输入长方形的长(a)和宽(b),返回面积(s)
s = a * b
"""
import argparse
parse = argparse.ArgumentParser(description= '计算长方形面积') # 创建并描述容器parse的功能
parse.add_argument('a', type=int, help='长方形的长(a)') # 在容器里添加变量a、b,指定变量类型为int,在帮助文档里描述a、b的含义
parse.add_argument('b', type=int, help='长方形的宽(b)')
args = parse.parse_args()
def Rec_S_arg(a,b):
    s = a * b
    return s
if __name__ == '__main__':
    print(Rec_S_arg(args.a,args.b))

(2)在jupyter notebook里调用Rec_S_arg.py

使用命令 %run Rec_S_arg.py 5 3 调用Rec_S_arg.py
python argparse模块的使用(1)_第2张图片
还可以通过命令 %run Rec_S_arg.py -h 调用Rec_S_arg.py的帮助文档
python argparse模块的使用(1)_第3张图片

4. 总结对比

通过argparse的调用,将代码与参数分开,便于任意调整参数的设置。当项目的子文件非常多的情况下,这种方式非常便于管理子文件和调整参数。
比如本例中,如果不用argparse模块的话,当需要计算不同长宽的长方形面积时,每次都需要到Rec_S.py文件里面去修改a和b的取值。但是通过使用argparse模块,我们可以在jupyter notebbok里调用时任意修改a和b的取值。

你可能感兴趣的:(python)