如何在Twisted试验中访问源树?

时间:2013-03-22 21:14:48

标签: python twisted trial

在我的试用测试用例中,我想从源代码树中运行脚本。试用会更改工作目录,因此简单的相对路径不起作用。实际上,Trial的临时目录位于源代码树内,但假设情况似乎并不理想。即,我能做到:

def source_file(p):
    return os.path.join('..', p)

有更好的方法吗?

1 个答案:

答案 0 :(得分:2)

如果您想在测试旁边找到一个文件并将其作为脚本运行,您可以这样做:

from twisted.python.modules import getModule
script = getModule(__name__).filePath.path
# ...
reactor.spawnProcess(..., script, ...)

您也可以使用它来支持将代码存储在zip文件中,尽管使用Python调用它会变得有点困难。您是否考虑过使用python -m