zoukankan      html  css  js  c++  java
  • sys.argv用法简介

    Python3中的sys自带模块中有个argv的方法,这个方法其实作用很简单

    主要用在通过python执行xxx.py文件时获取其携带的参数列表。

    用一个例子来介绍或许更简单明了吧:

    创建一个argv_test.py文件:

    # _*_ coding: utf-8 _*_
    # @File : argv_test.py
    import sys
    
    message = sys.argv
    print(type(message))
    print("sys.argv => %s" % message)
    
    如果直接执行该文件:
    结果为:
    <class 'list'>
    sys.argv => ['G:/Project Files/Rabbit MQ/argv_test.py']

    可以看出sys.argv的值是一个list列表,由于我们是直接执行结果,并没有在运行这个py文件传参,所以这个列表就是字符串'G:/Project Files/Rabbit MQ/argv_test.py'

    既然是列表我们取索引试试:

    import sys
    
    message = sys.argv[0]
    print("sys.argv => %s" % message)
    
    结果:
    sys.argv => G:/Project Files/Rabbit MQ/argv_test.py

    如果取索引1的话,报错提示 list index out of range。

    也就是sys.argv取索引0,就是取得该py文件的绝对路径字符串

    当然sys.argv的用途应该是要得到执行文件时候的参数的,所以我们打开cmd,找到该文件位置,使用python3执行一下该文件,同时携带参数

    # @File : argv_test.py
    import sys
    
    message1 = sys.argv[0]
    message2 = sys.argv[1]
    message3 = sys.argv[2:]
    print("sys.argv[0] => %s" % message1)
    print("sys.argv[1] => %s" % message2)
    print("sys.argv[2:] => %s" % message3)
    # cmd执行py文件:
    G:Project FilesRabbit MQ
    >> python3 argv_test.py param1 param2 param3 param4 param5 sys.argv[0] => argv_test.py sys.argv[1] => param1 sys.argv[2:] => ['param2', 'param3', 'param4', 'param5']

    不知道大家发现一个问题没有?

    py文件自执行:sys.argv[0] = 此py文件的绝对路径

    使用cmd或者脚本执行py文件:sys.argv[0] = 该py文件的文件名(包含扩展名)

  • 相关阅读:
    字体填充
    通过浏览器直接打开Android应用程序
    IE能够打开网页 可是chrome和火狐打不开网页解决的方法
    openGl学习之加入颜色
    站点变为黑白
    POJ 3169 Layout (图论-差分约束)
    自己定义控件-GifView
    标准C函数库的使用方法
    MyEclipse中jsp的凝视报错解决
    Surrounded Regions
  • 原文地址:https://www.cnblogs.com/suguangti/p/12411494.html
Copyright © 2011-2022 走看看