""" 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