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 代码中导入模块。

相关推荐
Zenova EdgeOS4 分钟前
Go 工业边缘错误处理实战:用 errors 构建可追溯错误链
开发语言·数据库·golang
取名真是15 分钟前
Python 算法知识点从基础到进阶
开发语言·python·算法
梦想不只是梦与想23 分钟前
PyTorch、CPU、GPU、CUDA
人工智能·pytorch·python·深度学习·机器学习·cuda
数字融合25 分钟前
透明化视频孪生危化安全管控解决方案
人工智能·python·安全
FRing0336 分钟前
vue2干货总结3(computed计算属性、watch监听器)
开发语言·前端·vue.js·vue2
Fatbobman(东坡肘子)2 小时前
快速消失的硬盘容量 -- 肘子的 Swift 周报 #160
开发语言·人工智能·redis·ios·swiftui·iphone·swift
揽星河..2 小时前
【C语言】底层程序设计
c语言·开发语言
JavaPub-rodert2 小时前
从零搭建通用管理后台:ShiyuAdmin 的 Go、React 与 RBAC 实践
开发语言·react.js·golang
别问!问就是全会2 小时前
Jupyter Notebook 安装包下载|单元格分块运行,图表直接内嵌
ide·python·其他·jupyter
深蓝AI2 小时前
Python 缓存击穿实测:16 个并发请求如何只回源 1 次
python