当前位置:   article > 正文

Python中 sys.argv[]解释及用法(python 脚本参数传递运行)_python 传入为空sys.argv[6]

python 传入为空sys.argv[6]

argv:网路解=释义( 参数,命令行,参数排列命令行,参数命令行变元数组)
sys.argv[0]表示代码本身文件名称”仅仅是一种结果的表现,其sys.argv的真正用法是什么,接下来用个小的demo来解释下:
在linux环境下,打开终端,touch一个aaa.py执行脚本。
vim编辑器进入到执行脚本中,接下来咱们写几行代码,如下:

  1 import sys
  2 
  3 a = sys.argv                                                                                          
  4 print a
  • 1
  • 2
  • 3
  • 4

保存退出,执行python aaa,py。结果如下:
在这里插入图片描述
可以看出,打印出来的结果是在列表中以字符串形式存在的文件名,那么改改代码,我们再看看:

  1 import sys
  2 
  3 a = sys.argv[0]                                                                                       
  4 print a
  • 1
  • 2
  • 3
  • 4

执行结果:
在这里插入图片描述
此时取出的就是单独的执行文件名。那么我们再执行一下python aaa.py hello,看看结果怎么样:
在这里插入图片描述
跟刚刚执行结果没什么关系。如果我们把 argv[0] 改成argv[1]会怎么样:

  1 import sys
  2 
  3 a = sys.argv[1]                                                                                       
  4 print a
  • 1
  • 2
  • 3
  • 4

执行结果:
在这里插入图片描述
此时看到,这次打印的不再是我们的文件名称了,而是我们文件名后面跟的一些参数。再换个方式,将代码再改改:

  1 import sys
  2 
  3 a = sys.argv[3: ]                                                                                     
  4 print a
  • 1
  • 2
  • 3
  • 4

执行:python aaa.py 1 2 3 4 5 6 7 8 9 0
结果:在这里插入图片描述

import sys

def test(argv):
    print argv[1]
    print argv[2]

if __name__ == '__main__':
    test(sys.argv)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

启动方式: python abc.py 1 2 这样1,2 两个参数就会传递到argv[1], argv[2].因为 argv[0],是获取的脚本名称。
怎么样,这下明白了把。Sys.argv[ ]其实就是一个列表,里边的项为用户输入的参数,关键就是要明白这参数是从程序外部输入的,而非代码本身的什么地方,要想看到它的效果就应该将程序保存了,从外部来运行程序并给出参数。我们用此方法获取文件名称或者外部传入参数通过列表操作进行筛选后使用。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/215246?site
推荐阅读
相关标签
  

闽ICP备14008679号