pr101.py

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

PY
60
字号
# test of reload -- PR#101 and related PR#128## javac must be on your $PATHimport sysimport osfrom java.lang import Runtime, Systemrt = Runtime.getRuntime()# make sure this directory doesn't appear on your CLASSPATHtmpdir = '/tmp'                                   # TBD: Un*xism# assertcpath = System.getProperty('java.class.path')for dir in cpath.split(os.pathsep):    assert os.path.normpath(dir) <> tmpdirsys.path.insert(0, tmpdir)javafile = os.path.join(tmpdir, 'pr101j.java')def makejavaclass(s):    fp = open(javafile, 'w')    fp.write('''// Java side of the PR#101 test -- reload of a Java classpublic class pr101j {    public static String doit() {        return "%s";    }}''' % s)    fp.close()    proc = rt.exec('javac ' + javafile)    status = proc.waitFor()    if status <> 0:        raise RuntimeError, 'javac process failed'try:    makejavaclass("first")    import pr101j    ret = pr101j.doit()    if ret <> 'first':        print 'unexpected first doit() result:', ret    makejavaclass("second")    pr101j = reload(pr101j)    ret = pr101j.doit()    if ret <> 'second':        print 'unexpected second doit() result:', ret    makejavaclass("third")    pr101j = reload(pr101j)    ret = pr101j.doit()    if ret <> 'third':        print 'unexpected third doit() result:', retfinally:    classfile = os.path.splitext(javafile)[0]+'.class'    os.unlink(javafile)    os.unlink(classfile)

⌨️ 快捷键说明

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