今日看到argv 度娘查找一番,基本都是转载的同一篇文章,总体字数不少但看了之后感觉还是稀里糊涂,自己尝试了一番简单总结如下

当我们需要在命令行执行脚本并需要在执行脚本的同时传入参数给脚本使用,那我们就可以使用到argv,argv是sys模块下的方法用于接收命令行传参,如下进行简单示例创建demo.py脚本计算两个数相加,且我们需要在命令行进行传参:

from sys import argv  # 导入模块

# 如果执行的方式错误输出使用方法
USAGE = '''
用法错误,正确方式如下:
python demo.py one two
''' if len(argv) != 3: # 判断argv的长度,如果脚本被直接执行(argv的值为当前脚本的路径),如果执行命令是python demo.py 加两个参数(argv的长度就为3(以此类推))
print(USAGE) # 如果传入的参数不足,输出正确用法
exit(1) # 异常退出(下面的代码将不会被执行) script_name, one, two = argv # 将传入的参数赋值进行使用 print(f'你执行的脚本是:{script_name},') # 输出脚本名称
print(f'相加的结果是:{float(one) + float(two)}') # 输出结果

当我们直接在命令行执行,不传进行参或传参数量不正确时:

D:\xuexi\python>python demo.py

用法错误,正确方式如下:
python demo.py one two

正确传参执行结果:

D:\xuexi\python>python demo.py 6 6
你执行的脚本是:demo.py,
相加的结果是:12.0

可以看到argv用法就是获取在命令行执行脚本时python命令后跟的所有参数

Python之argv简明详解的更多相关文章

  1. Python之yield简明详解

    yield在Python中被称之为生成器(只能在函数中使用),他的作用是将函数中每次执行的结果以类似元组的形式保存起来一遍后续使用. 什么是生成器? 通过列表生成式,我们可以直接创建一个列表.但是,受 ...

  2. python之sys模块详解

    python之sys模块详解 sys模块功能多,我们这里介绍一些比较实用的功能,相信你会喜欢的,和我一起走进python的模块吧! sys模块的常见函数列表 sys.argv: 实现从程序外部向程序传 ...

  3. python之OS模块详解

    python之OS模块详解 ^_^,步入第二个模块世界----->OS 常见函数列表 os.sep:取代操作系统特定的路径分隔符 os.name:指示你正在使用的工作平台.比如对于Windows ...

  4. python中threading模块详解(一)

    python中threading模块详解(一) 来源 http://blog.chinaunix.net/uid-27571599-id-3484048.html threading提供了一个比thr ...

  5. Python数据类型及其方法详解

    Python数据类型及其方法详解 我们在学习编程语言的时候,都会遇到数据类型,这种看着很基础也不显眼的东西,却是很重要,本文介绍了python的数据类型,并就每种数据类型的方法作出了详细的描述,可供知 ...

  6. python引用和对象详解

    python引用和对象详解 @[马克飞象] python中变量名和对象是分离的 例子 1: a = 1 这是一个简单的赋值语句,整数 1 为一个对象,a 是一个引用,利用赋值语句,引用a指向了对象1. ...

  7. Python中time模块详解

    Python中time模块详解 在平常的代码中,我们常常需要与时间打交道.在Python中,与时间处理有关的模块就包括:time,datetime以及calendar.这篇文章,主要讲解time模块. ...

  8. Python 列表(List)操作方法详解

    Python 列表(List)操作方法详解 这篇文章主要介绍了Python中列表(List)的详解操作方法,包含创建.访问.更新.删除.其它操作等,需要的朋友可以参考下   列表是Python中最基本 ...

  9. Python模块调用方式详解

    Python模块调用方式详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其 ...

随机推荐

  1. java语言什么时候诞生的?

    java语言什么时候诞生的?创始人是谁?何时发布的? Java编程语言是sun Microsystems公司JamesGosling在1990年创建的1995年公布于世

  2. 51nod 1379 索函数

    Fib[0]=0,Fib[1]=1,Fib[n]=Fib[n-1]+Fib[n-2] if n>1. 定义索函数Sor(n)=Fib[0]| Fib[1] |Fib[2]|…|Fib[n]. 给 ...

  3. awk基本用法

    1  简介 awk实质是一种编程语言,基本作用在于查找和替换. 2  基本用法 有文本名称为:awk.txt 内容为: john.wang male 30 021-111111 lucy.yang f ...

  4. 20165221学习基础和C语言基础调查

    1.你有什么技能比大多人(超过90%以上)更好? - 我觉得自己应该改算资质平平的那种人,如果说有什么技能比大多数人更好,我觉得应该是看过自己喜欢的书后,那种记忆能力.就比如自己从小对历史很感兴趣,小 ...

  5. 基本类型变量、引用类型变量的在java中的存放位置

    一.局部变量存储在方法栈中 在方法中声明的变量,即该变量是局部变量,每当程序调用方法时,系统都会为该方法建立一个方法栈,其所在方法中声明的变量就放在方法栈中,当方法结束系统会释放方法栈,其对应在该方法 ...

  6. Linux登录失败:Too many logins for 'username'.

    cat /etc/security/limits.conf #<domain> <type> <item> <value> * - maxlogins ...

  7. Keepalived详解(四):通过vrrp_script实现对集群资源的监控【转】

    一.通过vrrp_script实现对集群资源的监控: Keepalived基础HA功能时用到了vrrp_script这个模块,此模块专门用于对集群中服务资源进行监控.与此模块一起使用的还有track_ ...

  8. 题解-POI2009 WSP-Island

    Problem bzoj1137 题意概要:给定一个凸多边形坐标.点按顺时针编号 \(1\) 到 \(n\).任意两点之间都有一条长度为欧氏距离的边相连.边相交处可以自由穿行.有 \(m\) 条边不能 ...

  9. C++代码风格指南总结

    C++代码风格指南 代码风格的重要性 今天我收到thougthwork笔试没过的消息, 心里确实很难受, 然后师兄说我代码写得很糟糕 细想一下, 我写代码确实是随心所欲, 并没有遵循什么规范; 所以现 ...

  10. python 前面几个单词含义

    切片 str[start:end:step] start:从xxx开始    (startswith) end:切到xxx为止  (endswith) 不包括 字符串操作 .capitalize()# ...