且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

【python】sys.argv[] 的用法

更新时间:2022-08-15 11:40:52

sys.argv[]是用来获取命令行参数的,sys.argv[0]表示代码本身文件路径,因此要从第二个即sys.argv[1]开始取参数。
注意:参数是以空格分开的
创建一个名为sysargv.py的文件,内容如下:
import sys

print('the first  argv: ',sys.argv[0],'\n')#显示第一个参数
print('the second argv: ',sys.argv[1],'\n')#显示第二个参数
print('the third  argv: ',sys.argv[2],'\n')#显示第三个参数,以此类推

执行的结果如下:。
E:\lib>learnsysargv.py yang.txt yangqilong

the first  argv:  E:\lib\learnsysargv.py  --pyython文件的路径

the second argv:  yang.txt   --参数1

the third  argv:  yangqilong --参数2

官方教材中的一个例子,我修改了一下
import sys
print('the first  argv: ',sys.argv[0])
print('the second argv: ',sys.argv[1])
#print('the third  argv: ',sys.argv[2])
if len(sys.argv) < 2:
    print ('No action specified.')
    sys.exit()
解释一下下面IF语句的语法:判断参数1是否是以‘--’开头
if sys.argv[1].startswith('--'):
    ption = sys.argv[1][2:]//把参数1从第三个字符开始的字符串赋值给  option(去掉‘--’字符),直到参数1后面的空格。
    # fetch sys.argv[1] but without the first two characters
    if ption == 'v':
        print ('Version 1.2')
    elif option == 'h':
       print ('This program prints files to the standard output.\nAny number of files can be specified.\n\
Options include:\n\
--v : Prints the version number\n\
--h : Display this help')
程序输出结果:
E:\lib>sysargv.py  --h
the first  argv:  E:\lib\sysargv.py
the second argv:  --h
This program prints files to the standard output.
Any number of files can be specified.
Options include:
--v : Prints the version number
--h : Display this help

E:\lib>sysargv.py  --v
the first  argv:  E:\lib\sysargv.py
the second argv:  --v
Version 1.2