Python_文本的读写操作

 

【需求】

1. 获取文本内容,提取内容中的可用信息,对信息进行清洗等一系列处理

2. 算法输出一些内容,保存到文本文件中,便于使用

【函数】

在Python中open()函数是用来打开文件的,包括文本文件

# 在Python3.x中 open函数的原型  默认mode = 'r'
f = open(file, mode='r', buffering=None, encoding=None, errors=None, newline=None, closefd=True)

file: 文件名  (eg: 'example.txt') 前提是改文件在当前路径下,如果不在需要增加路径(eg: E:\\'example.txt')

mode: 文件打开的方式

 #目前最常使用的是  'r' :只读(需求1中可用)
 # 另外一个是       'a' : 追加写入(不会清空文本中的原有数据)
 #                'w':写入,但会清空原有数据,重新创建文本,覆盖之前
#其他还有很多,实际使用用不到,值得注意的是 ‘b’ 二进制读取 和 写入 即‘rb’'wb'等 如图像或音频等

buffering: 缓冲 默认为0 无缓冲  1是按行缓冲 >1是按设定字节缓冲

初步理解:在文本写入的时候,是先写到内存中在写入磁盘的,也只有写入磁盘中的文本我们才能打开看到。

无缓冲  ->  写入的文本直接进入磁盘 

有缓冲  -> 内容先暂存在内存中,只有f.close() 关闭文件,才将内容刷新到磁盘中保存起来

## 暂时用不到该参数

encoding: 文件编码方式 常用‘utf-8’ 【注】用什么方式写入就要以什么方式打开 否则就会出现乱码

可以用Notepad++  打开文本,上面可以看到文件的编码方式,同时可以更改编码方式

 

 

 【示例】

# 文本写入
f = open("E:\Learning_2019\write_somthing.txt",mode= 'w',encoding='utf-8') f.write("1. keep working\n 2. do yourslef\n 3. to be NO.1\n 4. what are you 弄啥嘞 ") f.close()
# 文本读取
f = open("E:\Learning_2019\write_somthing.txt",mode= 'r',encoding='utf-8') print(f.read())
"""
1. keep working
2. do yourslef
3. to be NO.1
4. what are you 弄啥嘞
"""

文本读取:

f.read()  读取文本中的所有内容

f.readline()  读取文本中的一行,从第一行开始

f.readlines()  读取文本中的所有行 输出列表

 2019.09.24更新

Python读取json文件中的内容

逐行获取json内容得到的是str,需要json.loads()转换成字典,之后在根据字典['keys'] 提取value

 1  import json
 2  with open(f'123.json','r') as f:
 3         while(1):
 4             # 读取每行内容  类型str
 5             line = f.readline()
 6             total_num += 1
 7             if not line:
 8                 break
 9             # 将str转换成dict
10             dict_line = json.loads(line)

 

posted on 2019-09-21 14:55  wangxiaobei2019  阅读(323)  评论(0编辑  收藏  举报

导航