Python:sys.argv[]的用法<转>

sys.argv[]是用来获取命令行参数的,sys.argv[0]表示代码本身文件路径,所以参数从1开始,以下两个例子说明:

1.使用sys.argv[]的一简单实例:

import sys, os
os.system(sys.argv[])

这个例子os.system接受命令行参数,运行参数指令,保存为sample1.py,命令行带参数运行sample1.py notepad,将打开记事本程序。

2.这个例子是简明python教程上的,明白它之后你就明白sys.argv[]了:

import sys
def readfile(filename):
    ''' Print a file to the standard output. '''
    f = file(filename)
    while True:
        line = f.readline()
        if len(line) == 0:
            break
        print line 
    f.close()

#Script starts from here
if len(sys.argv) < 2:
    print ' NO action specified.'
    sys.exit()

if sys.argv[1].startwith('--'):
    option = sys.argv[1][2:]
    if option == 'version':
        print ' version 1.2 '
    elif option == 'help':
        print '''This program prints files to the standard output. 
	         Any number of files can be specified. 
	         Options include: 
 	         --version : Prints the version number 
	         --help     : Display this help'''  
    else:
        print 'Unknow option.'
else:
    for filename in sys.argv[1:]:
        readfile(filename)

保存为sample2.py,我们验证一下:

1)命令行带参数运行:sample.py --version 输出结果为:version 1.2

2)命令行带参数运行:sample.py --help 输出结果为:This program prints files……

3)与sample.py同一目录下,新建a.txt的记事本文件,内容为:test argv;

命令行带参数运行:sample.py a.txt,输出结果为a.txt文件内容:test argv,

这里也可以多带几个参数,程序会先后输出参数文件内容。

注意:sys.argv[1][2:]表示从第二个参数,从第三个字符开始截取到最后结尾,本例结果为:version

!
原文地址:https://www.cnblogs.com/LittlePythoner/p/2853142.html