当前位置:首页 » 《随便一记》 » 正文

Python 中 sys.argv 用法详解

21 人参与  2023年05月06日 18:49  分类 : 《随便一记》  评论

点击全文阅读


一、Python sys 模块

“sys” 是 “system”,是一个系统模块,该模块提供了一些接口,用户访问python解释器自身使用和维护的变量,同时模块中还提供了一些函数,而我们今天要讲解的 argv 就是其中一个函数。

二、sys.argv

上一篇文章我们讲到了引用模块,这里sys 就相当于一个模块,而argv就是模块里的一个函数。
“argv” 即 “argument value” 是一个列表对象,其中存储的是在命令行调用 python 脚本是提供的 “命令行参数”。
这里重点理解这句话,我们举例来说明:
先看一个简单的例子:

import sysprint(sys.argv[0])

我们看一下输出结果:
这里我们将 文件命名为 test.py 放在我们的系统目录下,在cmd下执行:python test.py
在这里插入图片描述
我们看一下输出结果;
在这里插入图片描述
可以看到结果是:被调用的脚本文件名或全路径
这里需要强调的是:argv[0] 是 被调用的脚本文件名或全路径
那我们改一下程序,再试试:

import sysprint(sys.argv[1])

这里我们将代码改成 argv[1]
此时我们输入 python test.py hello 看一下运行结果:
在这里插入图片描述
看到这,是不是有的小伙伴就明白啦,sys.argv[]其实就是一个列表。
那我们再试一个,既然sys.argv是一个列表,我们就让它从第三个开始输出:

import sysprint(sys.argv[2:])

看一下运行结果:
在这里插入图片描述
这次我们输入的是 1 2 3 4 5 ,我们期望从列表的第三个元素开始输出,结果也很我们期望的一样,讲到这里,sys.argv就被我们彻底搞懂了。

总结:

sys.argv[]是一个列表
sys.argv[0]是被调用的脚本文件名或全路径
sys.argv[1:]之后的元素就是我们从程序外部输入的,而非代码本身的,想要看到它的效果,就要将程序保存,从外部运行程序并给参数,这也是我们在cmd里面运行的原因。

提升:

既然已经搞明白了 sys.argv[]的基本用法,那我们再测试一下:

import sysfor index,arg in enumerate(sys.argv):    print("第%d个参数是: %s" % (index, arg))

在这里插入图片描述
这次输入: a b c d e
我们可以看到输出结果是将 脚本文件名和我们输入的参数依次输出。


点击全文阅读


本文链接:http://zhangshiyu.com/post/61245.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

最新文章

  • 霍景琛,苏晚,林深昔年请深如海,终不敌薄凉附加(霍景琛,苏晚,林深)(昔年请深如海,终不敌薄凉)全本浏览阅读连载中
  • 新章速递汤安甯,白子奕,汤贝贝是什么小说(结婚十年,回归家庭的老婆在外有二胎了)完本阅读无广告(结婚十年,回归家庭的老婆在外有二胎了)
  • 娇牛马导师偷我论文99篇成功升博导,我让他牢底坐穿精校文本_周老师师姐师兄爽文_小说后续在线阅读_无删减免费完结_
  • 独家顾宇,罗薇:结局+番外精编之作(资助生装阔气,我可不参加)电子书畅享阅读
  • 宗门全员重生,小师妹摆烂不干了(君拂君芙蓉)_宗门全员重生,小师妹摆烂不干了
  • 成了高考状元后,我倒欠两百万完结txt_阿姨叶青江安TOP10_小说后续在线阅读_无删减免费完结_
  • 嫁绝嗣长官,好孕作精在七零躺赢小说(顾嘉宁)序章+全章阅读(嫁绝嗣长官,好孕作精在七零躺赢)最新章节
  • 秦安,温千雪:+后续现已上架(大宋:开局错把皇帝当亲爹):结局+番外评价五颗星
  • 八零我被判黑五类下矿区后,手撕兼祧两房的丈夫无法释怀_陈叙张悦翠花新鲜出炉_小说后续在线阅读_无删减免费完结_
  • 开局签到天人修为,建立无上神朝无法释怀_叶玄后续+完结_小说后续在线阅读_无删减免费完结_
  • ,沐小暖番外(恶毒后娘她真香)TXT+后续+结局在线阅读
  • 萌萌,多多,阿钰小说(我妈的执念)+前传(萌萌,多多,阿钰)阅读

    关于我们 | 我要投稿 | 免责申明

    Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1