☰
python 模块(Module)与包(Package)的区别,python xxx.py、python -m xxx 和 import xxx 三者的区别
2026/10/15 15:36:35 网站建设 项目流程

模块(Module)与包(Package)的区别

模块通常是一个 .py 文件,包通常是一个用于组织多个模块的目录。
安装名称是 pillow,导入路径却是 PIL。安装名称与 import 使用的名称不一定相同。

包from tools.math 文件夹

记住一个原则: 一般把常用依赖放在文件顶部;只有确实存在按需加载、启动开销或循环导入等需求时,再考虑放在函数内部。

python xxx.py、python -m xxx 和 import xxx 三者的区别

python xxx.py 运行脚本

按照代码的正常执行顺序从上往下运行,而不是自动寻找 main() 函数。

python -m xxx 运行模块

python -m myapp 运行模块。让 Python 把指定的模块当作程序来运行。一般是myapp/main.py,按照代码的正常执行顺序从上往下运行,而不是自动寻找 main() 函数。

init.py 通常在这个包第一次被导入时执行,而不是在执行 python -m myapp 时自动作为程序入口执行。
注意区分:init.py 是包的初始化文件,main.py 是通过 python -m myapp 运行包时的入口文件。
Python 执行包时,会先导入并初始化 myapp 包,然后执行包的main.py。
在__init__.py导入的函数,也可以用包调用函数。myapp.check_sn(“SN”).

执行 __init__.py 执行 __main__.py

python -m http.server 8000运行标准库中的 HTTP 服务器模块。
python -m json.tool data.json将模块作为程序执行。
python -m pip install requests 在当前python中安装库。如果有多个环境,比直接pip更不容易安装到别的环境中。

import xxx 代码中导入模块。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询