我有生产文件,可以很好地处理以下导入:
Ant.py
:
from TurnDegree import TurnDegree
但是在单元测试期间(运行时:python -m unittest tests/AntTest.py
),有一个错误:
File "/Users/x/Desktop/langton-python/src/Ant.py", line 1, in <module>
from TurnDegree import TurnDegree
ModuleNotFoundError: No module named 'TurnDegree'
当我将其更改为以下内容时,单元测试正在工作,但现在生产代码失败了:
from .TurnDegree import TurnDegree
有错误:
File "/Users/x/Desktop/langton-python/src/Ant.py", line 1, in <module>
from .TurnDegree import TurnDegree
ImportError: attempted relative import with no known parent package
有关完整的源代码,请参见:https://github.com/douma/langtons-ant-python
你可以像下面这样做一个try-catch来处理这两种情况。你知道吗
这有用吗?你知道吗
尝试查找保存文件的目录,以便轻松导入
你应该得到这样的结果:
每根弦都提供了一个 如果你想让你的解释器找到模块,就把它们放进去。即使所有这些都可以工作,网站包 目录是最好的选择,因为它是用来做这类事情的。看看你的眼睛系统路径找到 您的网站包目录,并保存模块,然后尝试导入,在您使用的任何编译器中执行相同的操作。你知道吗
告诉我它是否有助于你在那里保存它。你知道吗
使用以下方法处理更具体的异常:
或者
使用
except Exception
不是一个好的做法,因为它涵盖了所有可能的异常。这意味着如果您的程序引发不同于ModuleNotFoundError
或ImportError
的异常,它将静默运行。你知道吗相关问题 更多 >
编程相关推荐