221012 Python学习:文件操作、数据持久化、数据持久化相关方法、eval函数的用法
一、数据相关基础和文件操作
1)数据存储
- 程序中的数据默认是保存在运行内存中的;保存在运行内存中的数据在程序运行结束后会自动销毁。 —— 就会导致这次运行程序产生的数据在下一次运行程序的时候无法使用。
- 如果将数据保存在磁盘中,除了人为删除或者磁盘损坏,数据就会一直存在(磁盘是以文件为单位保存数据的)
2)数据持久化
- 数据持久化就是指将数据以文件的形式保存到磁盘中;
- 常见的数据持久化工具:数据库文件(.db、.sqlite)、json文件(.json)、excel文件、csv文件、txt文件、plist文件
3)文件操作:操作文件内容
文件操作基本流程:打开文件 → 操作文件(读、写) → 关闭文件
-
打开文件:open(file, mode= ‘r’, encoding=None) ,以指定的方式打开指定文件返回一个文件对象
-
file — 文件路径(文件在计算机中的位置)
-
绝对路径:文件在计算机中的全路径(Windows从盘开始写)
-
相对路径(必须将需要打开的文件放在工程目录)
写路径的时候用. 表示当前目录(当前目录是指当前代码所在文件所在的文件夹)
写路径的时候用… 表示当前目录的上级目录
# 绝对路径(可以复制文件地址看绝对路径) path = r'D:\Hycpython\Day15 文件操作\files\test1.txt' open(path) # 相对路径 # path = r'.\files\test1.txt' path = './files/test1.txt' open(path) path = '../Day15 文件操作/files/test1.txt' open(path)
-
-
mode — 文件打开方式
(决定打开文件后是能读还是能写?决定打开文件后操作文件的时候对应的数据的类型是字符串还是二进制)
-
第一组值(决定读写方式):
r — 只读 (默认是r)
w — 只写,打开的时候会清空原文件内容
a — 只写。打开的时候不会清空原文件内容
**注意:**如果文件不存在,以读的方式打开会报错,以写的方式打开不但不会报错还会自动创建这个文件。
-
第二组值(决定数据类型)
t — 字符串类型(默认是t)
b — 二进制类型
**注意:**给mode赋值的时候必须在两组值中每组值选择一个选项:‘rt’、‘tr’、‘r’…等;
**注意:**打开文本文件可以使用t 也可以用b (一般使用t),但是二进制文件(图片、音频、视频)等只能用b打开。
# 读写方式 # ============r只读============= f = open('files/test1.txt', 'r') f.read() # f.write('abc') # 报错 print('-------------------------------------------') # ============w只写且会清空原文件============= f = open('files/test1.txt', 'w') f.write('abc') # f.read() # 报错 print('-------------------------------------------') # ============a只写且不会清空原文件============= f = open('files/test1.txt', 'a') f.write('abc') # f.read() # 报错 print('-------------------------------------------') # 数据类型
-
-