sys 模块

sys.excepthook 未捕获异常处理的顶层函数

import sys



def new_hook(t, v, tb):
    print 'in new hook'
    return sys.__excepthook__(t, v, tb)

sys.excepthook = new_hook

raise ValueError('asdfasdfa')

sys.displayhook:  交互python解析器时的打印函数

In [1]: import sys

In [2]: def new_display(v):
   ...:     print 'in new displayhook'
   ...:     return sys.__displayhook__(v)
   ...: 

In [3]: sys.displayhook = new_display

In [4]: 1+1
in new displayhook
2

sys.exc_info  当前处理的异常信息

sys.exc_clear 清除当前的异常信息

import sys
import traceback

def a():
    raise ValueError('asdfasdf')

try:
    a()
except:
    print 'in except'
    print sys.exc_info()
    tb = sys.exc_info()[2]
    traceback.print_tb(tb)

print '------------'
print sys.exc_info()
print '############'
sys.exc_clear()
print sys.exc_info()

sys.exec_prefix  放置平台依赖的python文件目录前缀

sys.executable  python可执行文件路径

sys.exit  退出python, 实现原来是抛出一个SystemExit异常,所以可以捕获异常而不退出

atexit.register 注册退出时函数

import sys
import atexit

def exitfunc():
    print 'do job before exit'

atexit.register(exitfunc)

try:
    sys.exit(1)
except:
    print 'aaaa'

print 'bbb'

sys.exit(2)
print 'ccccc'

sys.getcheckinterval    sys.setcheckinterval   线程切换前python指令执行条数(GIL)

sys.getfilesytemencoding  文件系统编码

sys.getrefcount  得到对象的引用次数, 会比你期望的多一次, 因为这次调用也算

sys.getrecursionlimit  递归调用最大深度

sys.getsizeof  得到对象所占字节数,对于内建类型对象,返回的值是正确的,对于第三方扩展类型则不一定

sys._getframe 得到调用栈

import sys

def a():
    try:
        for i in range(100):
            f = sys._getframe(i)
            print f.f_code.co_name, f.f_code.co_filename, f.f_lineno
    except:
        pass

def b():
    a()

def c():
    b()

c()

sys.maxunicode 为65535时,unicode是UCS-2 为1114111时, unicode是UCS-4

sys.meta_path  find_module调用时查找的一系列路径, 优先级高于sys.path

sys.modules 已经load的模块

sys.path

sys.path_hooks 对于一个路径,能创建一个finder的可执行对象列表。比如从zip中import python模块。 see PEP302

sys.prefix   放置平台独立python文件的路径前缀

sys.ps1 sys.ps2 sys.ps3 交互python的提示符

sys.py3kwarning python 3 warning flag

sys.settrace 设置trace调用函数, 详细例子见:http://www.doughellmann.com/PyMOTW/sys/tracing.html

sys.settsdump  Activate dumping of VM measurements

sys.tracebacklimit traceback最大深度


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值