首页 > 解决方案 > 导入所有文件时,无法跨 Python 2 和 3 对同一目录中的两个文件进行 doctest

问题描述

我有两个文件,core.pyextend.py,在一个名为module. 该目录还包含一个名为__init__.py.

module/
  __init__.py
  core.py
  extend.py

core模块只定义了一百个常量(并且不导入任何内容)。

extend模块扩展了模块,core从它导入所有东西,然后添加一些额外的东西。

最终用户只会从extend.

两者都core.py包含extend.py文档测试。

我需要编写一个 import 语句,extend.py从 中导入所有内容core,当模块作为脚本执行时(运行 doctests)不会引发异常。我只能让它适用于 Python 2 或 3,但不能同时适用于两者。

我试过从extend.pyandfrom core import *开始from .core import *。Python 2 很好,但 Python 3 不允许我extend.py在第一种情况下进行 doctest,并且不允许用户extend在第二种情况下导入。

我很高兴重组目录树,或者以不同的方式运行 doctest,但不明白为什么它不起作用。

标签: python-3.xpython-2.7

解决方案


推荐阅读