python文件操作及数据持久化

python文件操作及数据持久化

文件操作基础

1.文件操作 - 操作的是文件内容

基础操作的基本流程:打开文件->操作文件(读、写)->关闭文件

2.打开文件

语法:

open(file, mode=‘r’,*,encoding=None)

说明:

1)file - 需要打开的文件的路径,可以是绝对路径,也可以是相对路径。

​ 注意:相对路径如果是‘./’开头,‘./’可以省略。

2)mode - 文件打开方式,由两组值决定打开文件后能干什么,同时决定操作文件的时候数据类型。

​ 第一组,决定打开后能干什么:r、w、a

​ r - 只读,如果文件不存在会报错;

​ w - 只写,会清空源文件内容,如果文件不存在会自动创建文件;

​ a - 只写,不会清空源文件内容,如果文件不存在会自动创建文件;

​ r+、a+、w+ - 读写;

​ 第二组,决定数据类型:t、b

​ t - 字符串;

​ b - 字节(二进制数据);

​ 打开文本文件可以使用t也可以使用b;二进制文件只能使用b打开,二进制文件有:图片、视频、音频、pdf等等。

​ 注意:使用的时候必须在每一组中选一个,如果第二组没选相对于选的‘t’,例如:‘rt’、‘r’、‘rb’、‘br’, ‘wt’、‘bw’、‘ba’、'a’等

3)encoding - 文件编码方式,文本文件文字存储的时候采用的字符集;

​ 只有在以t方式打开文件的时候才需要设置encoding。

​ 一般赋值为

​ ‘utf-8’ - 数字、字母使用1字节;中文采用3个字节;表情符号采用4个字节;

​ ‘gdk’ - 中文采用4个字节。

3.操作文件

1)读操作

文件对象.read() - 从对象位置开始读到文件结束,获取整个文件内容。

文件对象.readline() - 从对象位置开始读到一个结束。

2)写操作

文件对象.write(数据) - 将指定的数据写入指定文件。

4.关闭文件

文件操作完后要关闭文件

语法:

文件对象.close

数据持久化

1.背景:程序中数据默认保存在运行内存中,保存在运行内存中的数据在程序运行结束后会被销毁;如果程序中的数据在程序结束后不销毁就必须将数据通过文件的形式保存到磁盘中。

2.数据持久化又叫数据本地化,就是将程序中的数据储存到文件中。

3.常见的数据持久化工具:数据库(.db、.sqlite)、json文件、plist文件、csv文件、excel文件、txt文件等等

4.数据持久化步骤

第一步:确定需要持久化的数据;

第二步:创建文件并且确定文件初始内容;

第三步:在程序中需要这个数据的时候从文件中读这个数据;

第四步:当这个数据发生改变以后需要将最新的数据写入文件中。

# 写程序添加学生,并且打印已经添加过的所有学生
def demo_():
    # 1.输入学生信息
    name = input('请输入姓名')
    tel = input('请输入电话')
    major = input('请输入专业')
    # 2.获取之前已经添加过的所有学生
    try:
    	all_student = eval(open('./files/txt1.txt','r',encoding='utf-8').read())
    except:
        all_student = []
    # 3.添加学生
    all_student.append({'name':name,'tel':tel,'major':major})
    # 4.更新文件
    open('files/txt1.txt','w',encoding='utf-8').write(ste(all_student))
    
"""
请输入学生姓名: 小明
请输入学生电话: 110
请输入学生专业: 电子信息
[
    {'name': '小明', 'tel': '110', 'major': '电子信息'}
]


请输入学生姓名: 小花
请输入学生电话: 119
请输入学生专业: 服装设计
[
    {'name': '小明', 'tel': '110', 'major': '电子信息'},
    {'name': '小花', 'tel': '119', 'major': '服装设计'}
]
"""

服装设计
[
{‘name’: ‘小明’, ‘tel’: ‘110’, ‘major’: ‘电子信息’},
{‘name’: ‘小花’, ‘tel’: ‘119’, ‘major’: ‘服装设计’}
]
“”"


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值