"""
Auther:少校
Time:2025/4/10 14:13
越努力,越幸运
"""
# 1. 数据持久化
"""
程序中的数据默认都是保存在运行内存中的,在程序结束的时候都会自动释放。
如果希望运行程序产生的数据,下次运行程序的时候还可以使用,就需要将数据保存在硬盘中。
(硬盘中保存的数据除非人为删除或者硬盘损坏才会丢失)
硬盘是以文件为单位保存数据的,数据持久化就是将数据通过文件的形式保存到硬盘中。
"""
# 2. 文件操作(操作文件内容)
"""
基本步骤:打开文件 -> 读写操作 -> 关闭文件
"""
# 2.1)打开文件
"""
open(文件路径,打开方式,*,encoding=编码方式)
1)文件路径 - 需要打开的文件所在计算机中的位置
a.绝对路径:文件在计算机中的全路径(windows操作系统从盘名开始写。linux或mac从系统根目录或者用户根目录开始写)
b.相对路径: 写路径的时候用.开头,表示当前目录或者用..表示当前目录的上层目录。
当前目录:当前代码文件所在的文件夹
相对路径使用前提:需要打开的文件直接或间接放在工程目录中
"""
open(r"D:\shaoxiao\code\week03\ceshi\aaa\bbb\用户名.txt")
open(r"./ceshi/aaa/bbb/用户名.txt")
"""
2) 打开方式 - 决定打开文件后能做什么(能读还是能写);决定操作文件的时候数据的数据类型
第一组值: r、w、a 三选一 不选默认r
r - 只读
w - 只写 打开文件会先清空,再写入
a - 只写 append在最后追加
第二组值: t、b 二选一 不选默认t
t - 文本数据(字符串)
b - 二进制(图片/视频/音频等数据)
以读的方式,打开一个不存在的文件,程序会报错。
以写的方式,打开一个不存在的文件,不会报错,并且会自动创建这个文件。
"""
f = open(r'./ceshi/aaa/bbb/用户名.txt',"r",encoding="utf-8")
#f.write("\n张三丰")
print(f.read())
"""
3)文本文件编码方式
常用的文本文件编码方式有两种:
utf-8:一个英文字符占用一个字节,一个中文字符占用3个字节(优点:兼容所有语言、特殊字符等任意字符。缺点是占用更多硬盘)
gbk:一个英文字符占用一个字节,一个中文字符占用2个字节(优点:占用硬盘更小,缺点除了中英文以外都不支持)
编码方式的使用原则:数据写入文件使用的编码方式要和读文件时使用的编码方式一致。
"""
#内存单位
#bit(位)
#bytes(字节) = 8 bit
#1kb = 1024字节
#1MB = 1024KB
# 一 -> 4e00 -> 100111000000000
# utf-8: 00000000 1001110 00000000 占用3字节 支持所有语言符号
# gbk:01001110 00000000 占用2字节 仅支持中英文
#2.2 读写操作
"""
1)读操作
文件对象.read() - 从读写位置开始读到文件末尾(读写位置默认是从头开始读)-默认获取整个文件的所有内容
文件对象.readline() - 从读写位置开始读一行到下一行开头。
注意:对文件进行读操作的时候,会移动读写位置
2)移动读写位置
文件对象.seek(0) - 读写位置移动到字节位置0 就是文件开头
3)写操作
文件对象.write(数据) - 数据只能是字符串
"""
f = open(r'./ceshi/aaa/bbb/用户名.txt',encoding="utf-8")
print(f.read())
f = open(r'./ceshi/aaa/bbb/用户名.txt',"a",encoding="utf-8")
print(f.write("\n床前明月光"))
print(f.read())
#2.3 关闭文件
# 文件对象.close()
f.close()23.文件操作
本节2039字2025-04-10 16:10:24