当前位置: 首页 > news >正文

Python模块与包以及工程文件管理

PyCharm 文件夹标记与 Python 模块/包/文件的调用

1. PyCharm 文件夹标记

蓝色文件夹(Source Root)

  • 代表源码文件夹,告诉解释器这里是源码。
  • 蓝色文件夹会被自动添加到 sys.path,解释器会优先从这些文件夹中查找模块和包。
  • 如果不标记为蓝色,可能导致模块或包无法正常导入。

红色文件夹(Excluded Root)

  • 表示排除目录,Python 解释器和 PyCharm 都会忽略这些文件夹。
  • 通常用于排除虚拟环境目录、日志文件夹、缓存文件夹(如 __pycache__)、中间生成文件等。
  • 有助于优化项目性能,防止无关文件干扰项目运行。

橙色文件夹(Resource Root)

  • 用于存放非 Python 文件的资源目录(如图片、HTML 模板、配置文件等)。
  • PyCharm 会将其标记为资源路径,方便通过代码引用这些文件。
  • 程序运行时不会自动加载这些文件,只有显式调用时才会加载。

2. 模块与包

模块

  • Python 中最小的组织单元,一个 *.py 文件就是一个模块。
  • 模块可以包含函数、类、变量,也可以直接运行。

示例:

# module.py
def hello():print("Hello, world!")

  • 包是包含多个模块的文件夹,必须包含一个特殊文件 __init__.py
  • 包可以嵌套包,形成层级结构,便于管理复杂项目。

示例:

package/
├── __init__.py
├── module1.py
└── module2.py

3. 调用包、模块、文件

绝对导入

  • 从项目根目录开始导入。
import package.module1

相对导入

  • 从当前模块的相对路径导入。
from . import module2

📌 如果模块不在 Source Root 中,必须使用相对导入,否则会导入失败。

简言之,就是Python最小的结构是模块,基本就是一个Python文件。包的话是多个模块的集合,可以理解成类似一整个文件夹,但是Python不能直接调文件夹,需要在文件夹加上__init__.py文件(哪怕是空的)才能告诉解释器这是个包,当作包来调。

总结下来就是
1 蓝色文件夹告诉解释器是源码路径,支持模块和包的加载。
2 红色文件夹排除无关文件,优化性能,防止污染模块路径。
3 模块是单个文件,包是模块集合,init.py 必不可少。
4 绝对导入从根目录开始,相对导入从当前模块路径开始。

相关文章:

  • arctan x 导数推理
  • Spring Cloud : OpenFeign(远程调用)
  • LoRA(Low-Rank Adaptation)原理详解
  • 微服务架构-限流、熔断:Alibaba Sentinel入门
  • 【英语笔记(四)】诠释所有16种英语时态,介绍每种时态下的动词变形!!含有所有时态的的动词变形汇总表格
  • mybatis执行sql过程
  • MySQL用户管理
  • 解锁c++模板:从入门到精通
  • 二叉树三大遍历-精髓(Java)
  • Python 对象引用、可变性和垃圾 回收(标识、相等性和别名)
  • 酒店等场所客房沐浴用品批发要点:满足多样需求,把握关键环节
  • 精讲C++四大核心特性:内联函数加速原理、auto智能推导、范围for循环与空指针进阶
  • numpy模块综合使用
  • 进程间关系与守护进程
  • BGP基础配置实验
  • 机械物理:水力发电站工作原理是什么?
  • EdgeOne Pages MCP 入门教程
  • LVGL简易计算器实战
  • 在 Java 中使用 JSON Pointer 高效提取 JSON 数据
  • C++入门篇——类和对象(下)
  • 美元指数上涨超1%重返101上方,创1个月新高
  • 全国层面首次!《防震减灾基本知识与技能大纲》发布
  • 中美经贸高层会谈在瑞士日内瓦举行
  • 人民日报钟声:平等对话是解决大国间问题的正确之道
  • 招商蛇口:今年前4个月销售额约498.34亿元
  • 上报集团社长李芸:发挥媒体优势,让中非民心在数字时代更深层互联互通