【需求】

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_文本的读写操作的更多相关文章

  1. python中文本的读写操作

    文本的操作 函数的排序操作: def func(i): return i[2] list=[('曹操',101,'c'),('吕布',100,'d'),('刘备',200,'l'),('大乔',50, ...

  2. C++对txt文本进行读写操作

    输入输出,是每个程序员的基本功,尤其是对文本的输入和输出.最近,自己在这方面做了一些总结,不是很全面,希望在以后学习和工作的过程中慢慢补充,积累点点滴滴.P.S. 今天天气不错,雾霾散了,天空晴朗,惠 ...

  3. FileStream对文本进行读写操作

    class FileHelper { /// <summary> /// 检验文件路径是否合法 /// </summary> /// <param name=" ...

  4. 【PyQt5-Qt Designer】文本框读写操作

    主要内容: 1.读.写 输入控件(Input Widgets)中的内容(str) 2.保存数据到txt文件 3.从txt文件中读内容,与输入控件中内容比较 将上述各种输入控件(Input Widget ...

  5. python_线程读写操作<一>

    线程读写操作 import threading,random,queue q = queue.Queue() alist=[] def shengchan(): for i in range(10): ...

  6. JAVASE02-Unit08: 文本数据IO操作 、 异常处理

    Unit08: 文本数据IO操作 . 异常处理 * java.io.ObjectOutputStream * 对象输出流,作用是进行对象序列化 package day08; import java.i ...

  7. JAVASE02-Unit07: 基本IO操作 、 文本数据IO操作

    基本IO操作 . 文本数据IO操作 java标准IO(input/output)操作 package day07; import java.io.FileOutputStream; import ja ...

  8. 使用Python对Excel表格进行简单的读写操作(xlrd/xlwt)

    算是一个小技巧吧,只是进行一些简单的读写操作.让人不爽的是xlrd和xlwt是相对独立的,两个模块的对象不能通用,读写无法连贯操作,只能单独读.单独写,尚不知道如何解决. #①xlrd(读) #cod ...

  9. io流对文件读写操作

    public static void main(String[] args) throws IOException { BufferedReader reader = new BufferedRead ...

随机推荐

  1. ImageView的功能和使用

    ImageView继承自View类,它的功能用于显示图片, 或者显示Drawable对象 xml属性: src和background区别 参考:http://hi.baidu.com/sunboy_2 ...

  2. Docker Compose基本使用-使用Compose启动Tomcat为例

    场景 Docker-Compose简介与Ubuntu Server 上安装Compose: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/deta ...

  3. 连drawable目录都没搞明白就想开发APP?

      我是一个善良的搬运工,关于drawable,来看看这位的博客吧: https://blog.csdn.net/xuaho0907/article/details/72848520   hiahia ...

  4. 使用如下命令修改.bashrc文件

    使用如下命令修改.bashrc文件: gedit ~/.bashrc 编辑之后必须执行 source ~/.bashrc

  5. 控制执行流程之return

    1 .无条件分支的关键词:return, break,continue,它们在程序中表示这个分支无需任何测试也可以发生.今天我们说下return. 2. return 作用:(1)给当前方法返回值:( ...

  6. wrk,ab,locust,Jmeter 压测结果比较

    背景: 项目需要对一批接口进行压测,要求是接口的QPS(Quest Per Second每秒请求数)达到6万以上由于楼主一直使用的压力测试工具是jmeter,但是jmeter单台电脑无法达到6万的QP ...

  7. JavaScript之时间对象Date

    时间是物理学七大常量之一.生活中记录时间有两种方式(或者说有两种计时系统):GMT(格林尼治时间)和UTC(协调世界时间). 一 创建Date对象 JS中的Date对象只能通过new关键字创建. va ...

  8. 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 ...

  9. PMP全真模拟题真题試題含答案解析 2019年下半年PMP考試适用 PMP中文文对照试题 【香港台灣地區PMP考試也可用】

    PMP全真模拟题真题试题 含答案解析 2019年下半年PMP考试适用 PMP中文文对照试题 [香港台灣地區PMP考試也可用]PMP全真模擬題真題試題 含答案解析 2019年下半年PMP考試适用 PMP ...

  10. jenkins离线安装插件的方法(无法访问外网)

    最近项目要迁移环境,无法访问外网,因此jenkins的安装配置需要离线操作,在此记录 jenkins下载安装好之后,跳过插件的安装,新建用户进入jenkins界面,这些前置步骤我在之前的随笔里有写具体 ...