如何从子模块导入python脚本?

Posted

技术标签:

【中文标题】如何从子模块导入python脚本?【英文标题】:How to import python script from submodule? 【发布时间】:2012-05-24 06:24:22 【问题描述】:

我有以下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 找到文件,而不是我在 import 中所说的 module/submodule/bar?

【问题讨论】:

为我工作。您在__init__.py 文件之一中有什么奇怪的地方吗? 这不是您在导入时遇到的错误。似乎您有一些代码在 bar.py__init__.py 文件之一中执行 open(something) 是的......这是 PyCharm 重构后的一个非常奇怪的行为。重新创建运行配置已经解决了这个问题。谢谢大家,你给了我一个尝试从控制台运行它的想法,它成功了。 @infalco,当自我回答计时器到期时,请将其作为答案发布在下面并接受它 【参考方案1】:

这是 PyCharm 的错误。如果您将脚本从一个文件夹移动到另一个文件夹,它会保存旧路径并使用它,即使您在运行配置中对其进行了更改。所以重新运行配置解决了这个问题。

【讨论】:

以上是关于如何从子模块导入python脚本?的主要内容,如果未能解决你的问题,请参考以下文章

如何将需要导入模块的python脚本转换为Windows中的可执行文件

从子进程调用的外部 python 脚本打印 tqdm 进度条

将python模块导入databricks中的python脚本

用于命令行脚本和导入模块的 Python“模板”模块

如何将值从子脚本传递给同时运行的父脚本?

Python-模块的使用