Python中sys.argv用法图文详解
作者:ys.journey 发布时间:2023-09-07 18:30:00
一、Python sys 模块
“sys” 是 “system”,是一个系统模块,该模块提供了一些接口,用户访问python解释器自身使用和维护的变量,同时模块中还提供了一些函数,而我们今天要讲解的 argv 就是其中一个函数。
二、sys.argv
上一篇文章我们讲到了引用模块,这里sys 就相当于一个模块,而argv就是模块里的一个函数。
“argv” 即 “argument value” 是一个列表对象,其中存储的是在命令行调用 python 脚本是提供的 “命令行参数”。
这里重点理解这句话,我们举例来说明:
先看一个简单的例子:
import sys
print(sys.argv[0])
我们看一下输出结果:
这里我们将 文件命名为 test.py 放在我们的系统目录下,在cmd下执行:python test.py
我们看一下输出结果;
可以看到结果是:被调用的脚本文件名或全路径
这里需要强调的是:argv[0] 是 被调用的脚本文件名或全路径。
那我们改一下程序,再试试:
import sys
print(sys.argv[1])
这里我们将代码改成 argv[1]
此时我们输入 python test.py hello 看一下运行结果:
看到这,是不是有的小伙伴就明白啦,sys.argv[]其实就是一个列表。
那我们再试一个,既然sys.argv是一个列表,我们就让它从第三个开始输出:
import sys
print(sys.argv[2:])
看一下运行结果:
这次我们输入的是 1 2 3 4 5 ,我们期望从列表的第三个元素开始输出,结果也很我们期望的一样,讲到这里,sys.argv就被我们彻底搞懂了。
总结:
sys.argv[]是一个列表
sys.argv[0]是被调用的脚本文件名或全路径
sys.argv[1:]之后的元素就是我们从程序外部输入的,而非代码本身的,想要看到它的效果,就要将程序保存,从外部运行程序并给参数,这也是我们在cmd里面运行的原因。
提升:
既然已经搞明白了 sys.argv[]的基本用法,那我们再测试一下:
import sys
for index,arg in enumerate(sys.argv):
print("第%d个参数是: %s" % (index, arg))
这次输入: a b c d e
我们可以看到输出结果是将 脚本文件名和我们输入的参数依次输出。
来源:https://blog.csdn.net/fancynthia/article/details/126271660
猜你喜欢
- 在业务稳定性要求比较高的情况下,运维为能及时发现问题,有时需要对应用程序的日志进行实时分析,当符合某个条件时就立刻报警,而不是被动等待出问题
- 最近设计一个优惠券列表,有个属性是有效日期,因为空间有限,必须要把开始日期和结束日期在一行显示,这样就出现一排的数字,日期有好几种我们习惯的
- 运行结果:程序代码如下:#将excel中的数据进行读取分析import openpyxlimport numpy as npimport m
- 看代码吧~def find_all_index(arr, item): return [i for i, a in
- 这是asp利用dictionary创建二维数组的例子,这样做的优点是:1、数组下标可以是字符串2、长度不是固定的<'% ’==
- 举例: 340%60 = 40 ,怎么来的?340 - 60*5 = 40340 - (比340小的那个可以被60整除的正整数) =. 40
- 在Python中,经常会去读csv文件,如下import pandas as pdimport numpy as npdf = pd.rea
- 前几天安装Python的时候没有装上pip工具,所以只能现在手动安装了。首先,访问https://bootstrap.pypa.io/get
- 圆形的绘制 :OpenCV中使用circle(img,center,radius,color,thickness=None,lineType
- 本文实例为大家分享了python3.5 email发送邮件的具体代码,供大家参考,具体内容如下直接套用代码即可from email.mime
- Django 中自带了 sitemap框架,用来生成 xml 文件Sitemap(站点地图)是通知搜索引擎页面的地址,页面的重要性,帮助站点
- 当程序中出现错误时怎么解决?也就是我们所说的bug(缺陷),以及工作中如何对bug进行调试❤ 什么是bug(缺陷)软件缺陷就是通
- 本文实例讲述了Python实现基于PIL和tesseract的验证码识别功能。分享给大家供大家参考,具体如下:之前搞这个搞了一段时间,后面遇
- 线程实现Python中线程有两种方式:函数或者用类来包装线程对象。threading模块中包含了丰富的多线程支持功能:threading.c
- 前言想要使用摄像头实现一个多人姿态识别环境安装下载并安装 Anaconda官网连接 https://anaconda.cloud/insta
- python的百分号输出比较奇怪,代码如下print('%s%%'%(5))#这样就能输出‘5%'来源:https:
- Django自带有个强大的后天管理系统,接下来我就给大家介绍一下x的admin一些强大的操作及后台美化。首先给大家介绍一些xadmin的注册
- 先说迭代器,对于string、list、dict、tuple等这类容器对象,使用for循环遍历是很方便的。在后台for语句对容器对象调用it
- 问题在一个python web应用中需要定时执行一些任务,所以用了APScheduler这个库。又因为是用flask这个web框架,所以用了
- 用于绘制直线的line函数;用于绘制椭圆的ellipse函数;用于绘制矩形的rectangle函数;用于绘制圆的circle函数;用于绘制填