Python:sys.argv[]用法

http://www.cnblogs.com/cython/articles/2196715.html

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

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

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

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

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

 1 import sys
 2 def readfile(filename):
 3     ''' Print a file to the standard output. '''
 4     f = file(filename)
 5     while True:
 6         line = f.readline()
 7         if len(line) == 0:
 8             break
 9         print line
10     f.close()
11  
12 #Script starts from here
13 if len(sys.argv) < 2:
14     print ' NO action specified.'
15     sys.exit()
16  
17 if sys.argv[1].startwith('--'):
18     option = sys.argv[1][2:]
19     if option == 'version':
20         print ' version 1.2 '
21     elif option == 'help':
22         print '''This program prints files to the standard output.
23              Any number of files can be specified.
24              Options include:
25              --version : Prints the version number
26              --help     : Display this help''' 
27     else:
28         print 'Unknow option.'
29 else:
30     for filename in sys.argv[1:]:
31         readfile(filename)

保存为sample.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,

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

原文地址:https://www.cnblogs.com/lvxiuquan/p/2696948.html