Python(包和模块)

news2024/11/25 11:52:13

定义

  • 包是将模块以文件夹的组织形式进行分组管理的方法,以便更好地组织和管理相关模块。

  • 包是一个包含一个特殊的__init__.py文件的目录,这个文件可以为空,但必须存在,以标识目录为Python包。

  • 包可以包含子包(子目录)和模块,可以使用点表示法来导入。

使用import关键字可以导入包和子包,以访问其中的模块和内容。

使用包和子包

__init__.py文件

__init__.py 文件的主要作用是用于初始化Python包(package)或模块(module),它可以实现以下功能:

标识包目录: 告诉Python解释器所在的目录应被视为一个包或包含模块的包。没有这个文件,目录可能不会被正确识别为包,导致无法导入包内的模块。

执行初始化代码

控制包的导入行为: 通过定义 __all__ 变量,可以明确指定哪些模块可以被从包中导入,从而限制包的公开接口,防止不需要的模块被导入。

提供包级别的命名空间

批量导入模块

第三方包

Python第三方包是由Python社区开发的,可用于扩展Python功能和解决各种问题的软件包。这些包提供了各种各样的功能,包括数据分析、机器学习、网络编程、Web开发、图形处理、自然语言处理等。

Python异常

作用:用作信号通知,通知上层调用者有错误产生需要处理

1. try 语句

语法:

案例:

2. raise 语句

抛出一个错误,让程序进入异常状态发送错误通知给调用者

raise:在代码出现异常时候,向外抛异常信息
先判断代码中是否会出现异常,如果会出现则向外抛异常,三思而后行
try不判断代码是否出现异常,当代码出现异常时通过except捕获,先执行再捕获

Python文件操作

文件操作是Python中常见的任务之一,用于创建、读取、写入和管理文件。以下是一些常见的文件操作任务的思路、总结和示例代码:

1. 打开文件

要执行文件操作,首先需要打开文件。使用open()函数可以打开文件,指定文件名以及打开模式(读取、写入、追加等)。

2. 读取文件

一旦文件被打开,可以使用不同的方法来读取文件内容。

也可用readline():

可读取到文件内容

3. 写入文件

要写入文件,需要打开文件以写入模式('w'),然后使用write()方法。

4. 关闭文件

完成文件操作后,应该关闭文件,以释放资源和确保文件的完整性。

5. 使用with

更安全的方法是使用with语句,它会自动关闭文件。

6. 检查是否存在

可以使用os.path.exists()来检查文件是否存在。

7. 处理异常

在文件操作中,可能会出现各种异常情况,例如文件不存在或没有权限。在文件操作中捕获这些异常是个好习惯。

8. 复制文件

要复制文件,你可以使用shutil模块的copy方法。

将src文件的内容复制到dst文件‘

9. 删除文件

要删除文件,可以使用os模块的remove方法。

10. 修改名称

Python JSON 数据解析

JSON(JavaScript Object Notation)是一种轻量级数据交换格式,它易于阅读和编写,同时也易于机器解析和生成。Python提供了内置的JSON模块,用于处理JSON数据。

1. 导入模块

2. 序列化

json.dumps() 是 Python 的 json 模块中的一个函数,它的作用是将 Python 对象转换为 JSON 格式的字符串。

3. 反序列化

json.loads() 是 Python json 模块中的一个函数,它的作用是将 JSON 格式的字符串转换为 Python 对象。

4. 对象存文件

5. 从文件加载

6. 嵌套JSON数据

如果JSON数据包含嵌套结构,您可以使用递归来访问和修改其中的值。

7. JSON中列表

JSON可以包含列表,可以使用索引来访问列表元素。

8. JSON中空值

JSON允许表示空值(null),在Python中,它通常转换为None

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2228672.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数据采集-Kepware OPCUA 服务器实现

KepserverEX OPC UA server设置 目录 KepserverEX OPC UA server设置一、OPC UA(OPC Unified Architecture)二、防火墙的配置三、配置KepserverEX的OPC UA3.1 启用远程连接3.2 启动OPCUA服务器接口 四、管理OPCUA的端口和证书4.1 添加端口4.2 证书申请 一、OPC UA(OPC Unified …

医学和生信web APP 平台- Appmatrix

医学(和生信)web APP 平台- Appmatrix 最近使用shinyproxy将平时所构建的shiny和streamlit医学类应用汇集在一起,实现一站式访问,另外,使用了自己电脑内网穿透,一定程度上缓解了数据分析类APP消耗计算资源…

PyTorch nn.Conv2d 空洞卷积

torch.nn.Conv2d() 中 dilation 参数控制卷积核的间隔 dilation controls the spacing between the kernel points 当 dilation1 时, 表示卷积核没有额外的空白间距, 也就是标准卷积当 dilation>1 时, 表示空洞卷积(dilated convolution) 动画演示: 手动计算 以 2*2 的卷…

大模型,多模态大模型面试问题【计算图,LLama,交叉熵,SiLU,RLHF】

大模型,多模态大模型面试问题【计算图,LLama,交叉熵,SiLU,RLHF】 问题一:讲一讲计算图中pytorch是什么,TensorFlow是什么?1. PyTorch2. TensorFlow区别总结 问题二:Llama…

learnopencv系列一:使用神经网络进行特征匹配(LoFTR、XFeat、OmniGlue)、视频稳定化、构建Chrome Dino游戏机器人

文章目录 一、使用神经网络进行特征匹配1.1 什么是图像特征?1.2 特征匹配的应用场景——为什么在2024年还要进行特征匹配?1.3 特征匹配——经典方法与深度学习1.3.1 经典特征匹配1.3.2 深度学习特征匹配1.3.3 XFeat1.3.3.1 网络结构1.3.3.2 局部特征提取…

MySQL 数据出海之数据同步方案

优质博文:IT-BLOG-CN 数据库出海流程 【1】业务出海:1)数据库出海;2)应用出海;3)流量分发; 【2】数据库出海:涉及业务方、信安、DBA和框架组。 数据库出海&#xff0c…

Elasticsearch 安装教程:驾驭数据海洋的星际导航仪

目录 一、准备工作1. ES的下载 二、安装步骤三、注意事项四、启动报错1. org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root2. max virtual memory areas vm.max_map_count [65530] is too low, increase to at l…

RK3568平台开发系列讲解(I2C篇)I2C 上拉电阻

🚀返回专栏总目录 文章目录 一、接上拉电阻的作用二、I2C 上拉电阻阻值计算沉淀、分享、成长,让自己和他人都能有所收获!😄 I2C 的硬件连接如下图所示: 可以看到在 SDA 数据线和 SCL 时钟线上都需要接一个上拉电阻? 一、接上拉电阻的作用 SDA 数据线和 SCL 时钟线上接…

使用AIM对SAP PO核心指标的自动化巡检监控

一、背景 由于SAP PO系统维护成本较高,各类型异常报错等都需要人员进行时刻监控和响应,遂由AIM平台进行自动化巡检SAP PO的各指标,然后告警通知用户,节省维护成本和提高工作效率 二、核心指标监控 SAP PO失败消息 适用于S…

Golang | Leetcode Golang题解之第521题最长特殊序列I

题目: 题解: func findLUSlength(a, b string) int {if a ! b {return max(len(a), len(b))}return -1 }func max(a, b int) int {if b > a {return b}return a }

C语言:动态内存管理【上】

一. malloc C语言提供了一个动态内存开辟的函数: 1 void* malloc (size_t size);这个函数向内存申请一块连续可用的空间,并返回指向这块空间的指针。 .如果开辟成功,则返回一个指向开辟好空间的指针。 .如果开辟失败…

10.24.2024刷华为OD C题型(四) -- 对象list按照多个属性排序

文章目录 最长连续子序列AI面板识别语法知识记录 最长连续子序列 https://www.nowcoder.com/discuss/592408743019589632 if __name__ "__main__":# 获取用户输入# numbers int(input().split(,))# str_arr input().split(,)arr [int(num) for num in input(…

ubuntu 24 (wayland)如何实现无显示器远程桌面

ubuntu 24默认采用的是wayland而非x11,查过文档vnc对wayland的支持不是很好,折腾了好久,弄了一个如下的方案供参考: 硬件条件 需要一个显卡欺骗器或者可以接HDMI口作为视频信号源输出的设备。 将ubuntu的主机的HDMI输出接到该硬…

MATLAB FDATool工具箱入门教程

在数字信号处理领域,滤波器设计是一项基础且关键的任务。MATLAB提供了一个强大的工具——FDATool(Filter Design and Analysis Tool),它可以帮助用户轻松设计和分析各种数字滤波器。 本文将带领大家深入了解FDATool,让…

JUC并发编程面试题总结

文章目录 1、创建线程的三种方式2、线程的状态3、线程的上下文切换4、run和start的区别5、sleep和wait区别6、虚假唤醒,精确唤醒7、两阶段终止模式8、多线程下的线程安全问题9、如何解决线程安全问题10、synchornized的原理11、锁升级的机制12、锁消除13、批量重偏向…

<HarmonyOS第一课>给应用添加通知和提醒的习题

无形无名者,万物之宗也。 虽今古不同,时移俗易,故莫不由乎此,以成其治者也。 故可执古之道,以御今之有。 上古虽远,其道存焉,故虽在今,可以知古始也。 天命人, 刷无聊剧本… 本文来…

RabbitMQ 高级特性——事务

文章目录 前言事务配置事务管理器加上Transactional注解 前言 前面我们学习了 RabbitMQ 的延迟队列,通过延迟队列可以实现生产者生产的消息不是立即被消费者消费。那么这篇文章我们将来学习 RabbitMQ 的事务。 事务 RabbitMQ 是基于 AMQP 协议实现的,…

如何查看电脑支持的最大内存数?

① 按一下键盘的win R 键,输入:cmd 然后,点击【确定】(或者按一下回车) 在黑色窗口输入:wmic memphysical get maxcapacity 如下位置显示为:33554432 然后把这个数字:33554432 连…

二十二、MySQL 8.0 主从复制原理分析与实战

文章目录 一、复制(Replication)1、什么是复制2、复制的方式3、复制的数据同步类型3.1、异步复制3.2、半同步复制3.3、设计理念:复制状态机——几乎所有的分布式存储都是这么复制数据的 4、基于binlog位点同步的主从复制原理4.1、异步复制示例…

SpringBoot 下的Excel文件损坏与内容乱码问题

序言 随着打包部署的方式的改变,原本正常运行的代码可能带来一些新的问题,比如我们现在使用SpringBoot 的方式生成Jar包直接运行,就会对我们再在Resource下的Excel文件产生影响,导入与预期不符的情况发生cuiyaonan2000163.com 比…