【零基础学Python】介绍Python的文件存储

【0基础学爬虫】爬虫基础之文件存储

概述

数据存储有很多方式,本期会介绍如何将数据存入文本文件,如 TXT、JSON、CSV 等。

TXT 文件存储

介绍

TXT文件存储是最基本的数据存储方式,TXT 文本文件基本上兼容任何平台,因此它的应用也非常广泛。使用代码操作 TXT 文件十分简单,但是缺点也非常明显,不利于对数据进行检索。

使用

Python 中操作 TXT 文件需要使用到内置的 open() 函数。

open(file, mode='r', buffering=None, encoding=None, errors=None, newline=None, closefd=True)

open() 函数有七个参数分别为:

file:文件路径

mode:打开方式,默认为(r)只读模式

buffering:文件缓冲

encoding:字符编码

errors:报错级别

newline:换行模式,默认以\n换行

closefd:控制在关闭文件时是否彻底关闭文件

文件打开方式分为以下几种:

r:以只读方式打开文件

w:以写入方式打开文件。如果文件存在则覆盖原文件,不存在则新建。

x:创建新文件并以写入方式打开文件

a:以追加方式打开文件。如果文件存在,则在结尾位置写入,不存在则新建。

b:二进制模式

t:文本模式

+:读取与写入

wb:以二进制写入方式打开文件。如果文件存在则覆盖原文件,不存在则新建。

w+:以读写方式打开文件。如果文件存在则覆盖原文件,不存在则新建。

wb+:以二进制读写方式打开文件。如果文件存在则覆盖原文件,不存在则新建。

ab:以二进制追加方式打开文件。如果文件存在,则在结尾位置写入,不存在则新建。

ab+:以二进制追加读写方式打开文件。如果文件存在,则在结尾位置写入,不存在则新建。

f = open('data.txt','r',encoding="utf-8")
f.seek(2) #从指定下标位置开始读取
data = f.read()
f.close()

f = open('data.txt','w',encoding="utf-8")
f.write('hello')
f.write(' ')
f.write('world')
f.close()
#hello world

上下文管理器

上文中可以看到,对一个文件进行读写操作后需要使用 close() 方法关闭文件。如果不使用 close() 关闭文件会导致资源泄露问题。为了避免这个问题和优化代码,我们可以使用上下文管理器来操作文件。

with open('data.txt','w',encoding='uutf-8')as f:
    f.write('hello')
    f.write(' ')
    f.write('world')

当 with 语句块结束后文件会自动关闭,这样不需要再调用 close() 方法。

JSON 文件存储

介绍

JSON 全称为 JavaScript Object Notation,也就是 JavaScript 对象标记,是一种轻量级的数据交换格式。人们可以很容易的对 JSON 格式的数据进行阅读和编写,同时也方便了机器进行解析和生成。JSON 采用完全独立于程序语言的文本格式,但是也使用了类 C 语言的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。这些特性使 JSON 成为理想的数据交换语言。

JSON 通过对象和数组的组合来表示数据,而在 JavaScript 中,一切皆为对象,因此任何数据类型都可以通过 JSON 来表示。

在 JavaScript 中 JSON 通常以对象或数组的形式存在。对象形式为被花括号包裹的键值对结构,如 { key1 : value1, key2 : value2 },key表示对象的属性,value表示对象的值。数组形

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值