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
import json
with open(f'123.json','r') as f:
while(1):
# 读取每行内容 类型str
line = f.readline()
total_num += 1
if not line:
break
# 将str转换成dict
dict_line = json.loads(line)
Python_文本的读写操作的更多相关文章
- python中文本的读写操作
文本的操作 函数的排序操作: def func(i): return i[2] list=[('曹操',101,'c'),('吕布',100,'d'),('刘备',200,'l'),('大乔',50, ...
- C++对txt文本进行读写操作
输入输出,是每个程序员的基本功,尤其是对文本的输入和输出.最近,自己在这方面做了一些总结,不是很全面,希望在以后学习和工作的过程中慢慢补充,积累点点滴滴.P.S. 今天天气不错,雾霾散了,天空晴朗,惠 ...
- FileStream对文本进行读写操作
class FileHelper { /// <summary> /// 检验文件路径是否合法 /// </summary> /// <param name=" ...
- 【PyQt5-Qt Designer】文本框读写操作
主要内容: 1.读.写 输入控件(Input Widgets)中的内容(str) 2.保存数据到txt文件 3.从txt文件中读内容,与输入控件中内容比较 将上述各种输入控件(Input Widget ...
- python_线程读写操作<一>
线程读写操作 import threading,random,queue q = queue.Queue() alist=[] def shengchan(): for i in range(10): ...
- JAVASE02-Unit08: 文本数据IO操作 、 异常处理
Unit08: 文本数据IO操作 . 异常处理 * java.io.ObjectOutputStream * 对象输出流,作用是进行对象序列化 package day08; import java.i ...
- JAVASE02-Unit07: 基本IO操作 、 文本数据IO操作
基本IO操作 . 文本数据IO操作 java标准IO(input/output)操作 package day07; import java.io.FileOutputStream; import ja ...
- 使用Python对Excel表格进行简单的读写操作(xlrd/xlwt)
算是一个小技巧吧,只是进行一些简单的读写操作.让人不爽的是xlrd和xlwt是相对独立的,两个模块的对象不能通用,读写无法连贯操作,只能单独读.单独写,尚不知道如何解决. #①xlrd(读) #cod ...
- io流对文件读写操作
public static void main(String[] args) throws IOException { BufferedReader reader = new BufferedRead ...
随机推荐
- ImageView的功能和使用
ImageView继承自View类,它的功能用于显示图片, 或者显示Drawable对象 xml属性: src和background区别 参考:http://hi.baidu.com/sunboy_2 ...
- Docker Compose基本使用-使用Compose启动Tomcat为例
场景 Docker-Compose简介与Ubuntu Server 上安装Compose: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/deta ...
- 连drawable目录都没搞明白就想开发APP?
我是一个善良的搬运工,关于drawable,来看看这位的博客吧: https://blog.csdn.net/xuaho0907/article/details/72848520 hiahia ...
- 使用如下命令修改.bashrc文件
使用如下命令修改.bashrc文件: gedit ~/.bashrc 编辑之后必须执行 source ~/.bashrc
- 控制执行流程之return
1 .无条件分支的关键词:return, break,continue,它们在程序中表示这个分支无需任何测试也可以发生.今天我们说下return. 2. return 作用:(1)给当前方法返回值:( ...
- wrk,ab,locust,Jmeter 压测结果比较
背景: 项目需要对一批接口进行压测,要求是接口的QPS(Quest Per Second每秒请求数)达到6万以上由于楼主一直使用的压力测试工具是jmeter,但是jmeter单台电脑无法达到6万的QP ...
- JavaScript之时间对象Date
时间是物理学七大常量之一.生活中记录时间有两种方式(或者说有两种计时系统):GMT(格林尼治时间)和UTC(协调世界时间). 一 创建Date对象 JS中的Date对象只能通过new关键字创建. va ...
- at org.apache.jsp.WEB_002dINF.pages.login_jsp._jspInit( login_jsp.java:22)
SEVERE: Servlet.service() for servlet jsp threw exception java.lang.NullPointerException at org.apac ...
- PMP全真模拟题真题試題含答案解析 2019年下半年PMP考試适用 PMP中文文对照试题 【香港台灣地區PMP考試也可用】
PMP全真模拟题真题试题 含答案解析 2019年下半年PMP考试适用 PMP中文文对照试题 [香港台灣地區PMP考試也可用]PMP全真模擬題真題試題 含答案解析 2019年下半年PMP考試适用 PMP ...
- jenkins离线安装插件的方法(无法访问外网)
最近项目要迁移环境,无法访问外网,因此jenkins的安装配置需要离线操作,在此记录 jenkins下载安装好之后,跳过插件的安装,新建用户进入jenkins界面,这些前置步骤我在之前的随笔里有写具体 ...