码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Python 中 sys.argv 用法详解


    一、Python sys 模块

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

    二、sys.argv

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

    import sys
    print(sys.argv[0])
    
    • 1
    • 2

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

    import sys
    print(sys.argv[1])
    
    • 1
    • 2

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

    import sys
    print(sys.argv[2:])
    
    • 1
    • 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))
    
    
    • 1
    • 2
    • 3
    • 4

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

  • 相关阅读:
    SqlUtils 使用
    [C++] 统计程序耗时
    2023年【金属非金属矿山(地下矿山)安全管理人员】实操考试视频及金属非金属矿山(地下矿山)安全管理人员操作证考试
    JAVA设计模式详解(独家AI解析)
    【C++】—— 装饰器模式
    RocketMq源码分析(八)--消息消费流程
    学生HTML个人网页作业作品 使用HTML+CSS+JavaScript个人介绍博客网站 web前端课程设计 web前端课程设计代码 web课程设计
    365天挑战LeetCode1000题——Day 055 用户分组
    Revit中如何对项目对象设置透明及“构件元素上色”
    Mac中隐私安全性设置-打开任何来源
  • 原文地址:https://blog.csdn.net/fancynthia/article/details/126271660
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号