python 系统学习笔记(十一)---sys

来源:互联网 发布:淘宝云客服待遇 编辑:程序博客网 时间:2024/04/30 14:39
sys.argv           命令行参数List,第一个元素是程序本身路径 
sys.modules.keys() 返回所有已经导入的模块列表 
sys.exc_info()     获取当前正在处理的异常类,exc_type、exc_value、exc_traceback当前处理的异常详细信息 
sys.exit(n)        退出程序,正常退出时exit(0) 
sys.hexversion     获取Python解释程序的版本值,16进制格式如:0x020403F0 
sys.version        获取Python解释程序的版本信息 
sys.maxint         最大的Int值 
sys.maxunicode     最大的Unicode值 
sys.modules        返回系统导入的模块字段,key是模块名,value是模块 
sys.path           返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值 
sys.platform       返回操作系统平台名称 
sys.stdout         标准输出
sys.stdin          标准输入
sys.stderr         错误输出
sys.exc_clear()    用来清除当前线程所出现的当前的或最近的错误信息
sys.exec_prefix    返回平台独立的python文件安装的位置
sys.byteorder      本地字节规则的指示器,big-endian平台的值是'big',little-endian平台的值是'little'
sys.copyright      记录python版权相关的东西
sys.api_version    解释器的C的API版本
sys.version_info  sys.version_info(2, 4, 3, 'final', 0) 'final'表示最终,也有'candidate'表示候选,表示版本级别,是否有后继的发行
sys.displayhook(value)      如果value非空,这个函数会把他输出到sys.stdout,并且将他保存进__builtin__._.指在python的交互式解释器里,'_'代表上次你输入得到的结果,hook是钩子的意思,将上次的结果钩过来
sys.getdefaultencoding()    返回当前你所用的默认的字符编码格式
sys.getfilesystemencoding() 返回将Unicode文件名转换成系统文件名的编码的名字
sys.setdefaultencoding(name)用来设置当前默认的字符编码,如果name和任何一个可用的编码都不匹配,抛出LookupError,这个函数只会被site模块的sitecustomize使用,一旦别site模块使用了,他会从sys模块移除
sys.builtin_module_names    Python解释器导入的模块列表 
sys.executable              Python解释程序路径 
sys.getwindowsversion()     获取Windows的版本 
sys.stdin.readline()        从标准输入读一行,sys.stdout.write("a") 屏幕输出a 

sys.startswith() 是用来判断一个对象是以什么开头的,比如在python命令行输入“'abc'.startswith('ab')”就会返回True

问题: 实现命令行读参数读文件
"python readfile.py  c:/test.txt d:/test.txt"“python  readfile.py --help”,那么sys.argv[0]就代表“test.py”

[python] view plaincopy
  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.   
  13.   
  14.   
  15. # Script starts from here  
  16. if len(sys.argv) < 2:  
  17.     print 'No action specified.'  
  18.     sys.exit()  
  19.   
  20.   
  21. if sys.argv[1].startswith('--'):  
  22.    option = sys.argv[1][2:]  
  23.    # fetch sys.argv[1] but without the first two characters  
  24.    if option == 'version':  
  25.       print 'Version 1.0'  
  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 number 
  32.            --help    : Display this help 
  33.            --file    : file'''  
  34.    else:  
  35.        print 'Unknown option.'  
  36.        sys.exit()  
  37. else:  
  38.     for filename in sys.argv[1:]:  
  39.         readfile(filename)  




参照此例子修改sendemail.py  
--to xx  --content xx  --topic xx  --attach xx
原创粉丝点击