一、文件介绍
文件的作用:
使用文件的目的:保存数据存放在磁盘。
把一些存储存起来,可以让程序下次执行的时候直接使用,而不必从写制作一份,省时省力。
二、文件的打开与关闭
新建→写入数据→保存→关闭
打开文件,或者新建立一个文件→读/写数据→关闭文件
-
打开文件
格式:f = open('文件','w')或 f = open('文件','r')→读写
r:只读打开方式。
w:打开写入,存在则覆盖,不存在新建文件。
a:打开文件追加,存在追加,不存在创建新的文件写入。
-
写数据(write)
格式:对象 = open('文件','w')
对象.write('写入数据') 对象.close
-
读数据(read)
格式:对象 = open('文件','r')
变量 = 对象.read() print(变量)
总结:
- open打开时,使用‘r’,可以省略
- 如果没有文件,打开错误,存在该文件才能操作
- 如果文件中有中文显示,使用:encoding='utf-8'
- read(num)从文件读取数据,num为文件读取的长度。
-
读文件(readines)
以列表方式读取文件,每行作为一个元素。
格式:
对象 = open('文件','r')
变量 = 对象.readines()
print(变量)
-
读数据(readine)
readine可以按照行的方式把整个文件中进行一行一行读取。
格式:
对象 = open('文件','r')
变量 = 对象.redline()
-
可写(a)追加写入
格式:
对象 = open('','a')
对象.write('写入数据')
对象.close
总结:a形式打开文件,不存在创建并从头写入,存在则从数据末尾追加数据。
-
读数据(rb)
格式1:
对象 = open('二进制文件','rb')
变量 = 对象.read()
print(变量)
格式2:
with open('二进制文件','rb') as 对象:
变量 = 对象.read() print(变量)
总结:
- 第二种不需要手动关闭文件,所以经常被使用。
- 如果没有文件,打开报错,存在该文件才能操作。
-
写数据(wb)
格式:
with open('二进制文件','wb') as 对象:
变量 = 对象.write() print(变量)
-
-
关闭文件
格式:close()
三、文件和文件夹的操作
-
文件重命名
os模块中的rename()可以完成对文件的重命名。
格式:
import os
os.rename('需要修改的文件名','新文件名')
-
删除文件
os模块中的remove()可以完成对文件的重命名操作。
格式:
import os
os.remove(’文件名‘)
-
创建文件夹
os模块中的mkdir()可以完成对文件的重命名操作。
-
获取当前目录
os模块中的getcwd()可以获取当前目录
四、异常
-
什么是异常?
异常即使一个事件,影响程序正常运行的事件。
-
异常处理
-
作用:
- 捕获异常可以使用try/except语句
- try检测、except捕获
- 不想异常发生结束程序,只需在try里捕获它。
-
语法
try:
语句
except 错误名字:
语句
else:
语句
-
使用except二不带任何异常类型
语法:
try:
正常操作
except:
发生异常,执行这块代码:
else:
如果没有异常执行这块代码
-
使用except而带多种异常类型
语法:
try:
异常的操作
except(各种异常名称):
else:
没有异常执行这块代码
-
try-finally语句
try-finaly语句无论是否发生异常都将执行最后的代码
语法:
try:
语句
finally:
语句
注意:当在try块中抛出一个异常,立即执行finally块代码。
finally块中所有语句执行后,异常被再次触发,并执行except块代码。
参数的内容不同于异常
异常的传递
-
触发异常
可以使用raise语句自己触发异常。
-
用户自定义异常
定义:通过穿件一个新的异常类,程序可以命名它们自己的异常,异常应该是典型的集成自己Exception类,通过直线或间接的方式
-
五、模块
python模块(Module),是一个python文件,以.py结尾,包含python对象定义和python语句。
-
模块的引入
-
import
模块定义好后,可以使用import语句来引入模块
from....import 语句
-
from....import *语句
把一个模块的所有内容全都导入到当前的命名空间也是可行的。
-
六、python中的包
包是一个分层次的文件目录结构,它定义了一个模块及子包,和子包下的子包等组成的python的应用环境。
包就是一个文件夹,但文件夹下面必须有init.py文件,该文件的内容可以是空的。