1

这可能是一个愚蠢的问题。

我正在试验 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 模块在哪里搜索指定的文件吗?

4

1 回答 1

3

默认情况下,Doctest 搜索相对于调用模块的目录(但您可以覆盖它)。

引用文档doctest.testfile

可选参数module_relative指定如何解释文件名:

  • 如果module_relativeTrue(默认值),则filename指定与操作系统无关的模块相对路径。默认情况下,此路径是相对于调用模块的目录;但如果package指定了参数,则它是相对于该包的。为了保证操作系统的独立性,filename应该使用/字符来分隔路径段,并且不能是绝对路径(即不能以 开头/)。
  • 如果module_relativeFalse,则filename指定特定于操作系统的路径。路径可以是绝对的或相对的;相对路径是相对于当前工作目录解析的。
于 2010-10-04T09:34:57.147 回答