sys.argv[]是用来获取命令行参数的。
sys.argv[?]表示代码本身的文件路径:cmd命令行输入"python helloworld.py -version",那么sys.argv[0]就代表"helloworld.py",sys.argv[1]就代表"-version"。
以下实例参考:
#!/usr/bin/python#coding=utf-8import sysdef 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()print("sys.argv[0]---------",sys.argv[0])print("sys.argv[1]---------",sys.argv[1])print("sys.argv[2]---------",sys.argv[2])# Script starts from hereif len(sys.argv) < 2: print('No action specified.') sys.exit()if sys.argv[1].startswith('--'): option = sys.argv[1][2:] # fetch sys.argv[1] but without the first two characters 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('Unknown option.') sys.exit()else: for filename in sys.argv[1:]: readfile(filename)
命令行输入:python argv.py --version help
返回结果:sys.argv[0]--------- argv.py sys.argv[1]--------- --version sys.argv[2]--------- help Version 1.2注:sys.argv[1][2:]表示从第二个参数,从第三个字符开始截取到最后结尾,本例结果为:version