python创建Directory和python package的区别

目录

1. Python 创建 Directory(目录)

2. Python Package(Python包)

主要区别对比

总结

示例:如何让一个目录变成Python包?


在Python中,创建文件夹时
python创建Directory和python package的区别_第1张图片
有两种方式 :"创建directory"(创建目录)和"创建Python package"(创建Python包) 它们是两种不同的操作,主要区别如下:


1. Python 创建 Directory(目录)

python创建Directory和python package的区别_第2张图片

  • 作用:单纯在文件系统中创建一个文件夹(目录),用于组织文件。

  • 特点

    • 只是一个普通的文件夹,不包含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创建Directory和python package的区别_第3张图片

  • 作用:一个可被Python导入的代码组织单元,包含模块(.py文件)和子包。

  • 特点

    • 必须包含__init__.py文件(Python 3.3+的命名空间包可以省略,但通常仍建议保留)。

    • 可以包含模块(.py文件)和其他子包。

    • 能被Python的import语句识别和导入。

  • 创建方式

    • 手动创建:

      bash

      Copy

      Download

      my_package/
      ├── __init__.py   # 必须存在(可以是空文件)
      ├── module1.py    # 模块
      └── subpackage/   # 子包
          ├── __init__.py
          └── module2.py
    • 使用setuptoolspoetry等工具(适合发布到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

你可能感兴趣的:(python,开发语言)