Python doctest 示例失败
这可能是个傻问题。
我正在尝试使用 Python 的 doctest 功能,想要运行这个例子。
例子最后是:
if __name__ == "__main__":
import doctest
doctest.testfile("example.txt")
我把 "example.txt" 放在了包含示例代码的源文件的同一个文件夹里,但我遇到了以下错误:
Traceback (most recent call last):
File "test_av_funktioner.py", line 61, in <module>
doctest.testfile("example.txt")
File "C:\Python26\lib\doctest.py", line 1947, in testfile
text, filename = _load_testfile(filename, package, module_relative)
File "C:\Python26\lib\doctest.py", line 219, in _load_testfile
return open(filename).read(), filename
IOError: [Errno 2] No such file or directory: 'example.txt'
我能否以某种方式告诉或设置 doctest 模块去哪里寻找指定的文件呢?
1 个回答
3
默认情况下,Doctest会在调用模块的目录下搜索文件(不过你可以改变这个设置)。
引用一下关于 doctest.testfile
的文档:
可选参数
module_relative
指定了文件名应该如何理解:
- 如果
module_relative
设置为 True(这是默认值),那么filename
就是一个与操作系统无关的模块相对路径。默认情况下,这个路径是相对于调用模块的目录;但如果指定了package
参数,那么它就相对于那个包。为了确保与操作系统无关,filename
应该使用/
来分隔路径的各个部分,并且不能是绝对路径(也就是说,它不能以/
开头)。- 如果
module_relative
设置为 False,那么filename
就是一个与操作系统相关的路径。这个路径可以是绝对的,也可以是相对的;相对路径是相对于当前工作目录来解析的。