这可能是一个愚蠢的问题。
我正在尝试使用python doctest,我尝试运行this示例
以
结尾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模块搜索指定文件的位置吗?
答案 0 :(得分:3)
Doctest默认搜索相对于调用模块的目录(但您可以覆盖它)。
引用doctest.testfile
的文档:
可选参数
module_relative
指定如何解释文件名:
- 如果
module_relative
True (默认值),则filename
指定与操作系统无关的模块相对路径。默认情况下,此路径相对于调用模块的目录;但是如果指定了package
参数,那么它与该包相关。为确保操作系统独立性,filename
应使用/
个字符来分隔路径段,并且可能不是绝对路径(即,它可能不以/
开头。)- 如果
module_relative
False ,则filename
指定特定于操作系统的路径。路径可以是绝对的或相对的;相对路径是根据当前工作目录解析的。