学习Python Day13 —— 包和文件操作
什么是包
包含__init__.py文件的文件夹就是包
保用来对py文件(模块)进行分类或者封装
怎么使用包中的模块
1.import 包名.模块名
包名.模块名.变量
2.import 包名.模块名 as 新模块名
对"包名.模块名"进行重命名,命名通过"新模块名.变量"的方式使用变量
3.from 包名 import 模块名1,模块名2,…
定制包的__init__.py
不管用什么样的方式导入包或者包中的内容的时候,系统都会先去执行__init__.py文件
文件操作
数据持久化
1.计算机存储数据
程序中的数据默认情况下都是保存在运行内存中,保存在运行内存中的数据在程序结束后会自动销毁
保存在磁盘中的数据,除非手动删除或者磁盘损坏,数据会一直存在
2.持久化
将程序中的数据通过文件保存在磁盘中,这个过程就是数据持久化的过程
持久化工具:普通文本文件(.txt)、数据库文件(.sqlite、.db)、
json文件、plist文件、csv文件、excel文件等
文件操作
1.操作文件的基本步骤:打开文件 -> 读/写操作 -> 关闭文件
python实现文件操作
打开文件
open(file, mode="r", ..., encoding=None) - 以指定的方式
打开文件并且返回(返回的是文件对象)
file - 字符串,需要打开的文件路径
路径:
绝对路径 - 文件在计算机中的全路径
相对路径 - 用 . 来代替文件路径的部分,只写部分路径;
. - 表示当前目录(当前代码文件所在的目录)
mode - 字符串,打开方式(决定打开文件后能支持的操作;决定读写数据的类型)
"r" - 表示只读(默认)
"w" - 表示只写,打开的时候会先清空文件
"a" - 表示只写,打开的时候会保留源文件内容
"t" - 表示文本数据,对应str类型(默认,可以省略)
"b" - 表示二进制数据,对应bytes类型
注意:1.以读的形式打开一个不存在的文件会报错,
以写的形式打开一个不存在的文件不会报错,并且会自动创建该文件
2.如果是文本文件打开的时候可以是"b"也可以是"t",
如果是非文本文件打开的时候只能带"b"
encoding - 设置文本文件的编码方式,一般使用"utf-8"
注意:1.创建文件和打开文件、读和写对应的编码方式要一致
2.打开的时候如果带"b",就不能设置encoding
关闭文件
文件对象.close( )
注意:文件关闭后不能进行读写操作
读写操作
1.读
文件对象.read() - 从读写位置开始读到文件结尾(适用于所有文件)
文件对象.readline() - 从读写位置开始读到一行结尾(只能用于以"t"打开的文本文件)
2.写
文件对象.write(数据) - 将指定数据写入文件中(从读写位置开始写)
文件对象.seek(0) - 将文件读写位置移动到文件开头(读的方式打开读写位置默认在文件开头,写的方式打开读写位置默认在文件开头。)
怎么做到数据持久化
1.创建一个文件用来保存需要持久化的数据
2.需要这个数据的时候从文件中去获取这个数据
3.如果在程序中对这个数据进行修改,需要将最新的数据更新到文件中