跳到主要内容

📒 txt 和 jsonl 文件


本节介绍 txt 和 jsonl 文件添加数据。

这两种文件都是以行为单位,都可以指定行号修改某行数据。

✅️️ 插入新行

使用add_data()方法添加数据。不指定coord时将新数据添加到文件末尾。

txt 文件传入str格式表示一行,传入str组成的list一次添加多行,每个str为一行。

jsonl 文件无论传入什么数据,都会作为一行看待。

txt文件:

from DrissionRecord import Recorder

r = Recorder('data.txt')
r.add_data('第一行') # 添加一行
r.add_data(['第二行', '第三行', '第四行']) # 添加多行
r.record()

文件:

第一行
第二行
第三行
第四行

jsonl 文件:

from DrissionRecord import Recorder

r = Recorder('data.jsonl')
r.add_data({'姓名': '张三', '性别': '男'})
r.add_data({'姓名': '李四', '性别': '女'})
r.record()

文件:

{'姓名': '张三', '性别': '男'}
{'姓名': '李四', '性别': '女'}

✅️️ 指定行号写入

使用add_data()方法的coord参数,可指定把数据写入到指定行。

如果时 txt 文件插入多行,则写入到改行开始的行。

此操作会覆盖原有数据。

如果文件原来行数少于指定行号,会自动添加空行。

from DrissionRecord import Recorder

r = Recorder('data.txt')
r.add_data('第一行')
r.add_data('第二行')
r.add_data('第三行')
r.add_data('重写第二行', coord=2) # 用新数据覆盖第二行
r.add_data('第五行', coord=5)
r.record()

文件:

第一行
重写第二行
第三行

第五行