1 #!/usr/bin/python 2 # Filename: cat.py 3 4 import sys 5 6 def readfile(filename): 7 '''Print a file to the standard output.''' 8 f = file(filename) 9 while True:10 line = f.readline()11 if len(line) == 0:12 break13 print line, # notice comma14 f.close()15 16 # Script starts from here17 if len(sys.argv) < 2:18 print 'No action specified.'19 sys.exit()20 21 if sys.argv[1].startswith('--'):22 option = sys.argv[1][2:]23 # fetch sys.argv[1] but without the first two characters24 if option == 'version':25 print 'Version 1.2'26 elif option == 'help':27 print '''\28 This program prints files to the standard output.29 Any number of files can be specified.30 Options include:31 --version : Prints the version number32 --help : Display this help'''33 else:34 print 'Unknown option.'35 sys.exit()36 else:37 for filename in sys.argv[1:]:38 readfile(filename)
这个程序用来模仿linux中的cat命令。
在python程序运行的时候,即不是在交互模式下,在sys.argv[]列表中总是至少有一个项目,它就是当前运行的程序的名称,其他的命令行参数在这个项目之后。
另外,sys模块中还有其他特别有用的项目,sys.stdin sys.stdout sys.stderr分别对应标准输入、标准输出、标准错误。