1

これはおそらくばかげた質問です。

私はpythondoctestを試していますが、この例を実行しようとしています

で終わる

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(デフォルト)の場合、filenameOSに依存しないモジュール相対パスを指定します。デフォルトでは、このパスは呼び出し元のモジュールのディレクトリからの相対パスです。ただし、package引数が指定されている場合は、そのパッケージに関連しています。OSに依存しないようにするには、パスセグメントを区切るために文字をfilename使用する必要/があり、絶対パスではない場合があります(つまり、で始まらない場合があります/)。
  • module_relativeFalseの場合filename、OS固有のパスを指定します。パスは絶対パスでも相対パスでもかまいません。相対パスは、現在の作業ディレクトリを基準にして解決されます。
于 2010-10-04T09:34:57.147 に答える