6.文件和路径处理

一、模块和包管理

1.1.模块和包的定义

  • 模块(Module):模块是一个Python文件,以.py结尾,包含了Python对象定义和Python语句。
  • 包(Package) : python中的包就是一个包含一个__init__.py 文件的目录(文件夹)。
  • 库 : 有可能是模块组成,有可能是包组成

1.2.模块的作用

  • 模块让你能够有逻辑地组织你的Python代码段。
  • 把相关的功能代码写到到一个模块里能让你的代码更好用,更易懂。
  • 模块能定义函数,类和变量,模块里也能包含可执行的代码。

1.3.模块导入方式

import 模块名
import 模块名 as xx(别名)
from 模块名 import 函数方法
from 模块名 import 函数方法 as xx(别名)
from 模块名 import *(所有函数) 不建议,代码的可读性不高
记忆点:除了顶级目录,一层一层的剥开你的心
在这里插入图片描述

1.4.包导入方式

from 包名 import 模块名1,模块名2…
from 包名 import 模块名1 as 别名1,模块名2 as 别名2…
from 包名.模块名 import 函数名(变量名)
在这里插入图片描述

1.5.模块导入的搜索路径

在这里插入图片描述

二、文件操作和路径处理

2.1 文件基本操作

2.1.1 打开和关闭文件

打开文件:open(‘文件名’,‘打开的模式’)
关闭文件:close()

r:读取内容(只读模式)
在这里插入图片描述

2.1.2 文件内容读取

read():读取文件中的所有内容
readline():读取文件中的一行内容,不能指定行数去读
readlines():读取文件中的所有行的内容,每一行作为一个元素,放入列表中,可以指定下标去读取指定的行内容
在这里插入图片描述

2.1.3文件的打开方式
r:读取内容(只读模式),文件不存在会报错
w:以写入的方式打卡文件(文件不存在,创建一个新的文件,文件存在,清空原来的内容,从新写入)
a:以写入的方式打开文件(文件不存在,创建一个新的文件,文件存在,在原内容尾部,追加写入)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.1.4文件内容写入
write:写入数据(内容必须是字符串)
【列表怎么写入,怎么读取】:

在这里插入图片描述
在这里插入图片描述
writelines:写入多条数据(内容是可迭代对象:一般用来写列表)
在这里插入图片描述

2.2上下文管理器with

使用with操作文件的好处:会自动关闭文件 在这里插入图片描述

2.3路径处理os模块

在这里插入图片描述
相对路径:
1个点,代表当前目录下
2个点,代表上一级目录
绝对路径: 电脑硬盘中的文件路径
os.getcwd()和os.chdir方法使用如下如所示:在这里插入图片描述
os.mkdir()和os.rmdir()方法的使用如下图所示:
os.mkdir() 方法,重名目录创建会报错
在这里插入图片描述

os.listdir()、os.path.isdir()和os.path.isfile()的用法如下图所示:
在这里插入图片描述
os.path.dirname()方法的使用如下图所示:在这里插入图片描述

三、异常处理

3.1 什么是异常?

异常:当程序运行中检测到一个错误时,无法继续执行,出现了一些错误的提示,这就是所谓的“异常”
常见的异常(例子):
在这里插入图片描述

3.2 异常分析

我们写的代码发生异常(例子):
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
python所有的内置异常类型汇总:
https://www.cnblogs.com/nmb-musen/p/10856023.html

代码发生了异常还能不能往下执行: 正常情况下不能
代码发生了异常还想他继续往下执行: 异常处理(捕获)

3.3 异常捕获

异常处理:
try:
放有可能会出现错误的代码(必要的)
except 指定异常类型:
try里面的代码出现了错误之后,对错误处理的代码(必要的)
else:
try中的代码没有发生错误,执行else中的代码(可选)
finally:
不管try中代码有没有发生错误,都会执行(可选)

在这里插入图片描述
在这里插入图片描述
主动抛出异常 raise
语法格式:

  • raise 异常类型(异常信息)
    raise NameError(‘name ‘a’ is not defined’)

四、断言 assert

1.什么是断言?
一个assert后面跟一个条件语句,如果条件不成立就会触发断言异常

2.assert断言语句的语法格式?
assert语句用来声明某个条件是真的
当assert语句失败的时候,会引发–’AssertionError’
方式一 : assert 表达式
在这里插入图片描述

  • 抛出断言异常后,如果想他提示一些相关信息,应该如何做?
  • 这个时候就要用到assert的参数了,assert的参数定义:只要在assert这条语句的最后面,把提示信息写上去就行了
    在这里插入图片描述

总结
在这里插入图片描述
try的工作原理是,当开始一个try语句后, python就在 当前程序的.上下文中作标记,这样当异常出现时就可以回到这里,try语句先执行,接下来会发生什么依赖于执行时是否出现异常。

-如果当try后的语句执行时友生异常,python就跳回到try并执行第一个匹配该异常的except子句, 异常处理完毕,控制流就通过整个try悟句(除非在处理异常时又引发新的异常) 。
-如果在try后的语句里发生了异常,却没有匹配的except子句, 异常将被递交到上层的try,或者到程序的最上层(这样将结束程序,并打印缺省的出错信息)。
-如果在try语句执行时没有友生异常,python将执行else语句后的语句(如果有else的话) ,然后控制流通过整个try语句。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值