• 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
    我们可以看到输出结果是将 脚本文件名和我们输入的参数依次输出。

  • 相关阅读:
    【新版】系统架构设计师 - 案例分析 - 数据库设计
    高速公路和 TCP/IP 的负载均衡和拥塞
    vc visual studio旧 版本 下载
    08-注册BeanPostProcesser
    这些来自各领域的全新机器人技术,你了解吗?
    Python灰帽编程——错误异常处理和面向对象
    若依框架使用mars3d的环境配置,地球构建
    jsp笔记
    PMP中的T型人才
    源码解析之——ReentrantLock
  • 原文地址:https://blog.csdn.net/fancynthia/article/details/126271660