test_bsddb.py

来自「mallet是自然语言处理、机器学习领域的一个开源项目。」· Python 代码 · 共 77 行

PY
77
字号
#! /usr/bin/env python"""Test script for the bsddb C module   Roger E. Masse"""import osimport bsddbimport dbhash # Just so we know it's importedimport tempfilefrom test_support import verbose, verifydef test(openmethod, what):    if verbose:        print '\nTesting: ', what    fname = tempfile.mktemp()    f = openmethod(fname, 'c')    verify(f.keys() == [])    if verbose:        print 'creation...'    f['0'] = ''    f['a'] = 'Guido'    f['b'] = 'van'    f['c'] = 'Rossum'    f['d'] = 'invented'    f['f'] = 'Python'    if verbose:        print '%s %s %s' % (f['a'], f['b'], f['c'])    if what == 'BTree' :        if verbose:            print 'key ordering...'        f.set_location(f.first()[0])        while 1:            try:                rec = f.next()            except KeyError:                if rec != f.last():                    print 'Error, last != last!'                f.previous()                break            if verbose:                print rec        if not f.has_key('a'):            print 'Error, missing key!'    f.sync()    f.close()    if verbose:        print 'modification...'    f = openmethod(fname, 'w')    f['d'] = 'discovered'    if verbose:        print 'access...'    for key in f.keys():        word = f[key]        if verbose:            print word    f.close()    try:        os.remove(fname)    except os.error:        passtypes = [(bsddb.btopen, 'BTree'),         (bsddb.hashopen, 'Hash Table'),         # (bsddb.rnopen,'Record Numbers'), 'put' for RECNO for bsddb 1.85         #                                   appears broken... at least on         #                                   Solaris Intel - rmasse 1/97         ]for type in types:    test(type[0], type[1])

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?