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 ...
随机推荐
- 计算2个GPS坐标的距离
本文转自 http://blog.csdn.net/ztp800201/article/details/44676867 Java 计算两个GPS坐标点之间的距离 1. Lat1 Lung1 表示A点 ...
- StateListDrawable资源的使用
StateListDrawable用于组织多个Drawable对象,当使用StateListDrawable作为目标组件的 背景和前景图片时,StateListDrawable对象所显示的Drawab ...
- 字节输入流InputStream
import java.io.File; import java.io.FileInputStream; import java.io.IOException; public class FileIn ...
- 三句话告诉你break、return、continue!
break:终止循环执行循环体下面的代码 return:终止循环并且退出循环所在的方法 continue:终止当前循环,进行下一次循环
- nginx如何配置负载均衡
自己学习用 面试回答如下: 在nginx里面配置一个upstream,然后把相关的服务器ip都配置进去.然后采用轮询的方案,然后在nginx里面的配置项里,proxy-pass指向这个upstream ...
- Python学习-is和==区别, encode和decode
一.is 和 == 介绍 1. is 比较的是两个对象的内存地址是否相同,它们是不是同一个对象. 2. == 比较的是两个对象的内容是否相同. 在使用is前,先介绍Python的一个内置函数id( ...
- 4.7 if else-if
c#中的if else-if if else-if 中最后的"else":如果用户输入的不等于上面的else if(xxx)表达式,则输出这行代码. **不参与运算的数值不用转换 ...
- C#使用SignalR实现进度条
需求背景 产品觉得在后台处理数据时给前端加个进度条 项目框架 .ENT framework4.5 MVC 5.0 Nuget引入 Microsoft.Owin 系列 2.0.2 Nuget引入 Mi ...
- 为RecyclerView定制可滑动的Item
最近项目有需要弄一个可以像手机QQ会话页一样可以滑动的小菜单,每一个Item当用户在向左滑动的时候右侧会出现一个小菜单当时就想在也不是很难心想着找个开源的使用就好呢,但是我的项目是用的Recycler ...
- 说说 Java 线程间通信
序言 正文 一.Java线程间如何通信? 线程间通信的目标是使线程间能够互相发送信号,包括如下几种方式: 1.通过共享对象通信 线程间发送信号的一个简单方式是在共享对象的变量里设置信号值:线程A在一个 ...