PyCharm 中调用项目内文件夹的 Python 文件方法

PyCharm 中调用项目内文件夹的 Python 文件方法

在 PyCharm 中调用另一个文件夹中的 .py 文件,本质上是解决 Python 的模块导入路径问题。默认情况下,Python 只会搜索当前目录和系统库,直接导入子文件夹里的模块会报 ModuleNotFoundError。以下提供三种最有效的解决方案。

方法一:将文件夹标记为「源根」(最推荐)

这是 PyCharm 独有的便捷功能,无需修改代码即可让 IDE 识别路径。

  1. 在项目侧边栏中,右键点击目标文件夹(比如 utils)。
  2. 选择 Mark Directory as → Sources Root
  3. 文件夹图标变为蓝色后,就能像导入系统模块一样直接导入其中的文件。

例如,项目结构为:

复制代码
MyProject/
├── utils/
│   └── helper.py
└── main.py

main.py 中只需写 import helper 即可。运行时 PyCharm 会自动将该目录加入 PYTHONPATH,告别路径错误。该方法完全不影响代码在其它环境下的可移植性。

方法二:使用 Python 包和绝对导入

如果想脱离 PyCharm 也能正常运行,建议将文件夹做成标准的 Python 包。

  1. 在目标文件夹内新建一个 __init__.py 文件(内容可为空),使其成为包。
  2. 从任意脚本中使用包名导入,如 from utils.helper import 函数名

当运行入口脚本(例如项目根目录下的 main.py)时,项目根目录会自动进入搜索路径,从而找到所有子包。此方法代码清晰,最为通用。

方法三:临时动态添加路径

对于临时测试,可以直接在脚本里添加路径:

python 复制代码
import sys
import os
sys.path.append(os.path.abspath("utils"))
import helper

这种方法会污染全局路径且不美观,仅推荐在一次性脚本或调试时使用。

常见排查要点

  • 确认源根:检查文件夹是否已标为蓝色,且运行配置中的"Add source roots to PYTHONPATH"已勾选。
  • 确认工作目录 :在 Run → Edit Configurations 中确保工作目录为项目根目录。
  • 包结构 :若使用 __init__.py,务必检查文件名及层级正确。

采用方法一或方法二,即可在 PyCharm 中自由调用项目内任意文件夹的 Python 文件,让模块组织更灵活、代码复用更高效。


发布地址https://6v6.ren/

相关推荐
6v6-博客5 小时前
CLion 开发环境配置完全指南
教程
6v6-博客11 小时前
SquareLine Studio 中复制文件的方法
教程·6v6博客网
6v6-博客12 小时前
PostgreSQL 数据库修改密码指南
6v6博客网
6v6-博客12 小时前
多级时钟门控究竟能降低多少功耗?
教程
其实防守也摸鱼2 天前
无线网络安全--10 规避WLAN验证之挫败MAC地址限制
网络·智能路由器·php·教程·虚拟机·wlan·无线网络安全
小德车机导航2 天前
【资源编号:292】高德地图 v16.17.3.1403 低配车机专属定制修改版
教程·技术
weixin_424813754 天前
02-技术教程-CIMPro孪大师6.2实战20分钟打造智慧港口数字孪生系统
教程·数字孪生·零代码·智慧港口·cimpro孪大师
小德车机导航5 天前
839个青龙签到脚本免费下载|自动签到脚本合集,持续更新中
教程·技术
NPE~7 天前
[嵌入式]从0到1开发环境搭建
stm32·嵌入式硬件·教程·clion·stmcubemx·stmcubeclt