刚接触命令行命令及命令行参数,确实挺容易想逃避——太晦涩了把。其实这是因为大多数文字把这部分内容讲得太含糊的原因,或者说是把简单的事情复杂化了——这里用一个例子带大家轻松掌握,几分钟讲清楚
知识要点:
- 如上,我们在命令行窗口键入一行带有参数的命令
- 对应操作系统来说,这是一行普通的字符串而已
- 通过解析OS知道调用python来运行.py脚本,并将代表参数的字符串传给pytho 脚本中预先编写的处理这些命令行参数的代码
下面是一个实例脚本,研究一下
import argparse #专门解析命令行参数的包
def describe(age,name,grade):
'''通过这个函数观察命令行参数'''
print('数字参数 --age 已接收:',age)
print("字符串参数 --name 已接收:",name)
print("dick-like参数已接收:",grade)
def trans_dict(dictlike):
'''由于操作系统过来的是字符串,但我们想要字典,所以'''
key,value = str(dictlike).split('=')
return {key:value}
if __name__ == '__main__':
parser = argparse.ArgumentParser(
description="PyGameofLife. By default, produces 50 generations of the 'infinite' seed"
)
parser.add_argument("--age", type=int, default="20", help="年龄",)
parser.add_argument(
"--name", type=str, default="邓紫棋", help="姓名"
)
parser.add_argument(
"--grade",
type=trans_dict,
default={'数学':98},
help="成绩字典",
)
args = parser.parse_args()
describe(args.age,args.name,args.grade)
总结
到这里可以说把命令行已经讲透彻了,大家想必心里也是想 “啊,原来是这么回事——多简单啊”这种吧。嗯,很多难题都是把简单的事情想复杂了