sys.argv[]是用来获取命令行参数的,sys.argv[0]表示代码本身文件路径,所以参数从1开始.
arg[1]表示第一个命令行参数
arg[1][2:] 表示取第一个命令行参数,但是去掉前两个字节
比如命令行参数为 “--help” ,就去掉“--”,执行"help"参数。
以下代码来自简明Python教程。
这里如果有sys.arg[0]则表示cat.py
- #!/usr/bin/python
- # Filename: cat.py
-
- 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, # notice comma
- f.close()
-
- # Script starts from here
- if len(sys.argv) < 2:
- print 'No action specified.'
- sys.exit()
-
- if sys.argv[1].startswith('--'):
- option = sys.argv[1][2:]
- # 取 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)
|