day13-包和文件操作
包的使用
1.什么是包
包是python工程中一种专门用来管理py文件的文件夹,这个文件夹中有一个特殊文件:__ init __.py
(项目中的普通文件夹一般用来管理,项目需要的非代码文件)
2.怎么使用包中的内容 - 导入
1)import 包名 - 导入后可以通过’包名.'去使用这个包中的__ init __.py文件中定义的所有的全局变量
2)import 包名.模块名 - 导入后可以通过 ‘包名.模块名.’ 去使用指定模块中所有的全局变量
3)from 包名 import 模块名 - 导入指定包中的指定模块,导入后可以通过 ‘模块名.’ 去使用模块中所有的全局变量
4)from 包名.模块名 import 变量1,变量2,… - 导入指定包中的指定模块中的指定变量, 变量在用的时候直接用
文件操作
1.数据持久化
程序中使用和产生的数据默认都是保存在运行内存中的,当程序结束后,运行内存中的数据全部会被自动销毁;
如果想要数据在程序结束后不销毁,就需要将数据通过文件存储到硬盘中。
将数据保存到硬盘中,就是数据持久化。(注意:数据不能直接放到硬盘中,必须要通过文件)
编程的时候常见的文件类型: txt、json、plist、数据库
2.文件操作
1)基本步骤:打开文件 -> 操作文件(读操作、写操作) -> 关闭文件
2)打开文件
open(file, mode=‘r’,*,encoding=None)
a.file - 需要打开的文件的路径
绝对路径:文件在计算机中的全路径
相对路径:
. - 表示当前目录(当前目录指的是当前写打开文件的代码的文件所在的目录)
… - 表示当前目录的上层目录
… - 表示当前目录的上层目录的上层目录
b.mode - 文件打开方式(决定打开文件后支持的操作是读还是写;决定操作的数据对象是字符串还是二进制)
决定读写方式的值:r、w、a
r - 只读
w - 只写;打开后会清空原文件中的内容
a - 只写;打开后不会清空原文件中的内容
决定操作的数据类型:t(默认值)、b
t - 读到的内容和写入文件中的内容是字符串类型
b - 读到的内容和写入文件中的内容是bytes(二进制)类型
注意:打开文件的时候mode必须在这两组值中每一组选一个,如果第二组的值不选表示选的t
c.encoding - 文本文件编码方式,一般赋值为 ‘utf-8’
注意:读写时编码方式要一致,只有文本文件在以 ‘t’ 的形式打开的时候才能设置encoding
文件的读写
1.打开文件
以读的形式打开一个不存在的文件,会报错!
以写的形式打开一个不存在的文件,不会报错,并且会自动创建这个不存在的文件
2.关闭文件
文件对象.close()
注意:文件关闭以后不能再对文件进行操作
# 自动关闭文件的写法
"""
with open() as 文件对象:
文件作用域
"""
3.操作文件
1)读操作
a.文件对象.read() - 从文件读写位置开始,读到文件结尾
b.文件对象.readline() - 读一行(从读写位置开始,读到一行结束); 只能用于文本文件的读操作
c.文件对象.readlines()
2)写操作
文件对象.write(数据)
a.在文件最后追加新的内容
b.在文件最开头添加新的内容