python学习站 /学习python第三周
阅读主题
正文字体
字体大小

23.文件操作

本节2039字2025-04-10 16:10:24
"""
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()


网友评论

相关作品