如何从子模块中导入Python脚本?

3

我有一个Python模块的如下结构:

/foo.py
/module
/module/__init__.py
/module/submodule/__init__.py
/module/submodule/bar.py

我在 foo.py 中有以下代码:

from module.submodule.bar import *

但是我得到了以下错误结果:
'.../module/bar.py': [Errno 2] No such file or directory

为什么Python在尝试查找文件时,会在/module/bar.py而不是像我在导入中声明的那样在module/submodule/bar中寻找呢?

对我来说可以运行。你的__init__.py文件中有奇怪的东西吗? - Wooble
3
这不是导入时出现的错误。看起来你有一些代码在 bar.py 或其中一个 __init__.py 文件中执行了 open(something) 操作。 - Daniel Roseman
是的...在重构之后,PyCharm表现得非常奇怪。重新创建运行配置解决了问题。谢谢大家,你们给了我一个想法尝试从控制台运行它,结果成功了。 - bigdatarefiner
2
@infalco,当自我回答计时器到期时,请在下面发布并接受它作为答案。 - Mike Pennington
1个回答

1

这是PyCharm的一个错误。如果你将脚本从一个文件夹移动到另一个文件夹,它会保存旧路径并使用它,即使你在运行配置中已经更改了它。因此,重新创建运行配置可以解决这个问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接