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