python创建Directory和python package的区别
目录
1. Python 创建 Directory(目录)
2. Python Package(Python包)
主要区别对比
总结
示例:如何让一个目录变成Python包?
在Python中,创建文件夹时
有两种方式 :"创建directory"(创建目录)和"创建Python package"(创建Python包) 它们是两种不同的操作,主要区别如下:
1. Python 创建 Directory(目录)
-
作用:单纯在文件系统中创建一个文件夹(目录),用于组织文件。
-
特点:
-
只是一个普通的文件夹,不包含Python包的特殊结构。
-
不能直接作为Python包被导入(除非添加
__init__.py
)。
-
-
创建方式:
-
使用
os.mkdir()
或os.makedirs()
:python
Copy
Download
import os os.mkdir("my_folder") # 创建单个目录 os.makedirs("parent/child") # 递归创建多级目录
-
或手动在文件系统中创建。
-
2. Python Package(Python包)
-
作用:一个可被Python导入的代码组织单元,包含模块(
.py
文件)和子包。 -
特点:
-
必须包含
__init__.py
文件(Python 3.3+的命名空间包可以省略,但通常仍建议保留)。 -
可以包含模块(
.py
文件)和其他子包。 -
能被Python的
import
语句识别和导入。
-
-
创建方式:
-
手动创建:
bash
Copy
Download
my_package/ ├── __init__.py # 必须存在(可以是空文件) ├── module1.py # 模块 └── subpackage/ # 子包├── __init__.py└── module2.py
-
使用
setuptools
或poetry
等工具(适合发布到PyPI)。
-
主要区别对比
方面 | Directory(目录) | Python Package(包) |
---|---|---|
用途 | 存储任意文件 | 组织Python模块 |
能否被import | ❌ 不能 | ✅ 能 |
关键文件 | 无特殊要求 | 必须包含__init__.py |
创建方式 | os.mkdir() | 手动创建__init__.py 或使用打包工具 |
示例 | data/ , docs/ | numpy/ , requests/ |
总结
-
如果只是存储普通文件(如数据、文档),用
directory
(目录)即可。 -
如果要让Python能导入代码,必须创建
package
(包),并包含__init__.py
文件。
示例:如何让一个目录变成Python包?
bash
Copy
Download
# 原本只是一个普通目录 my_directory/ └── some_file.txt# 添加__init__.py后变成包 my_package/ ├── __init__.py # 变成Python包 └── module.py # 可以被导入
现在可以:
python
Copy
Download
import my_package.module