python 模块(Module)与包(Package)的区别,python xxx.py、python -m xxx 和 import xxx 三者的区别

模块(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").

bash 复制代码
执行 __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 代码中导入模块。

相关推荐
PHP实战开发录1 小时前
PHP中文文件名为什么乱码
开发语言·php
阿里嘎多学长1 小时前
2026-10-13 GitHub 热点项目精选
开发语言·程序员·github·代码托管
砚底藏山河1 小时前
量化新手误区:因子计算与行情数据的工程化解耦
java·数据库·python·金融
巧克力味的桃子1 小时前
复杂网络能控性鲁棒性研究进展
开发语言·网络·php
lzqrzpt2 小时前
LED驱动电源选型核心参数解析与工程适配准则
python·单片机·嵌入式硬件
普通人62 小时前
php处理百度编辑器有误html
开发语言·编辑器·html·php·1024程序员节
李航19832 小时前
SketchUp国产平替来了,功能非常接近,还有AI版本自动建模
人工智能·python·计算机视觉·ai·ai编程
玩AI的奶茶2 小时前
什么情况适合租算力?一张场景对照表,加三个自测问题
大数据·linux·服务器·数据库·人工智能·python
沉下心来学鲁班2 小时前
具身智能入门:用 Python 让 MicroDuck 机器狗学会走路
开发语言·人工智能·python·机器人