• Python的sys.argv使用说明


    刚开始使用这个参数的时候,很不明白其含义.网上搜索很多都是贴的官网上面的一则实例,说看懂,就明白.可是,我看不懂.现在在回头看这个参数使用,并不是很麻烦.

    举几个小例子就明白了.

    创建一个脚本,内容如下

    1  #conding:utf-8
    2  import sys #导入sys模块
    3  print(sys.argv[0]) # 打印sys.argv的第0个参数

    来运行一下这个脚本,我们随便给他点参数,1个,2个,3个或更多都行.

    1 $ python3.6 1234.py a b c d e f 
    2 1234.py

    得出结果就显示当前脚本名,这里我们就可以得出第一个结论.

    sys.argv[0] 返回是的脚本

    现在我们修改一下脚本, 内容如下

    1 #conding:utf-8
    2 import sys #导入sys模块
    3 print(sys.argv[1]) # 打印sys.argv的第1个参数

    执行如下

    1 $ python3.6 1234.py a b c d e f 
    2 a

    得出结果就是第一个参数的值.通过这样类推,我们就是知道sys.argv参数的效果了.

    返回脚本本身的名字及给定脚本的参数.

    了解shell脚本编程的可以这样理解这些参数,sys.argv[0] 就是shell 脚本中的basename ,而sys.argv[1]....就是shell中的$1,$2.....

    sys.argv也支持python字符串中的切片,我们还是先修改代码

    示例1:

    1 #conding:utf-8
    2 import sys #导入sys模块
    3 print(sys.argv[1:]) # 打印sys.argv的第1个参数及其以后所有参数,返回的值是一个list

    结果如下:

    $ python3.6 1234.py a b c d e f 
    ['a', 'b', 'c', 'd', 'e', 'f']

    示例2:

    1 #conding:utf-8
    2 import sys #导入sys模块
    3 print(sys.argv[1:3]) # 打印sys.argv的第1个参数到第三个参数,不包含第三个参数,返回的值是一个list

    结果如下:

    1 $ python3.6 1234.py a b c d e f 
    2 ['a', 'b']

    示例3:

    #conding:utf-8
    import sys #导入sys模块
    print(sys.argv[1:5:2])
    print(sys.argv[-1])
    print(sys.argv[::-1])

    结果如下

    1 $ python3.6 1234.py a b c d e f 
    2 ['a', 'c']
    3 f
    4 ['f', 'e', 'd', 'c', 'b', 'a', '1234.py']

    上面示例使用了字符串的切片方法,需要先了解字符串的切片知识.

    通过如上示例,应该明白sys.argv的使用和暂时的结果.

    sys.argv就是将程序本身和给程序参数返回一个list,这个list中的索引为0的就是程序本身.因此里面的给sys.argv的参数就是list索引.

    这个函数是我们写python脚本中最常用的一个函数.

  • 相关阅读:
    C#设计模式学习笔记-单例模式
    面向对象的七种设计原则
    继承 示例1
    继承和多态的那些事
    体检套餐管理项目
    魔兽登录系统
    清空表
    mysql批量插入
    mkdir用大括号同时建立多个同级和下级目录
    linux查看机器位数
  • 原文地址:https://www.cnblogs.com/cqkangle/p/10503271.html
Copyright © 2020-2023  润新知