Python-TXT文本操作
一、列出IO操作的标识符及描述
标识符 | 描述 |
---|---|
r | 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。 |
rb | 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。 |
r+ | 打开一个文件用于读写。文件指针将会放在文件的开头。 |
rb+ | 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。 |
w | 打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 |
wb | 以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 |
w+ | 打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 |
wb+ | 以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 |
a | 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。 |
ab | 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。 |
a+ | 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。 |
ab+ | 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。 |
二、读TXT文件
要以读文件的模式打开一个文件对象,使用Python内置的open()函数,传入文件名和标示符。
>>> f = open('/Users/wangjuan/test.txt', 'r')
#文件打开成功,调用read()方法可以一次读取文件的全部内容
>>> f.read()
'Hello, it is a test case!'
#调用close()方法关闭文件
>>> f.close()
文件使用完毕后必须关闭,因为文件对象会占用操作系统的资源,并且操作系统同一时间能打开的文件数量也是有限的。
由于文件读写时都有可能产生IOError,一旦出错,后面的f.close()就不会调用。所以,为了保证无论是否出错都能正确地关闭文件,我们可以使用try ... finally来实现:
try:f = open('/Users/wangjuan/test.txt', 'r')print(f.read())
finally:if f:f.close()
但是每次都这么写实在太繁琐,所以,Python引入了with语句来自动帮我们调用close()方法:
with open('/Users/wangjuan/test.txt', 'r') as f:print(f.read())
readlines() 方法用于读取所有行(直到结束符 EOF)并返回列表,该列表可以由 Python 的 for... in ... 结构进行处理。如果碰到结束符 EOF 则返回空字符串。举例如下:
file = '/Users/wangjuan/test.txt'
f = open(file, 'r')
# 按行读出文件内容
sourceInLines = f.readlines()
f.close()
# 定义一个空列表,用来存储结果
new = []
for line in sourceInLines:temp1 = line.strip('\n') # 去掉每行最后的换行符'\n'temp2 = temp1.split(',') # 以','为标志,将每行分割成列表new.append(temp2) # 将上一步得到的列表添加到new中
三、写TXT文件
写文件和读文件是一样的,唯一区别是调用open()函数时,传入标识符'w'或者'wb'表示写文本文件或写二进制文件:
>>> f = open('/Users/wangjuan/test.txt', 'w')
>>> f.write('Hello, world!')
>>> f.close()
可以反复调用write()来写入文件,但是务必要调用f.close()来关闭文件。当我们写文件时,操作系统往往不会立刻把数据写入磁盘,而是放到内存缓存起来,空闲的时候再慢慢写入。只有调用close()方法时,操作系统才保证把没有写入的数据全部写入磁盘。忘记调用close()的后果是数据可能只写了一部分到磁盘,剩下的丢失了。所以,还是用with语句来得保险:
import osdef write_re(result,type):file = str(os.path.abspath(os.path.join(os.path.dirname(__file__), os.pardir, "data/result.txt")))with open(file, type) as f:f.write(result)
当然如果你想写入的内容继续叠加的话,可以使用标识符'a'或者' a+'或者'ab+'。
以上,对你有帮助的话,点赞吧~
作者:搁浅
出处: http://www.cnblogs.com/xiaoxi-3-/
如果对您有帮助,请关注我的同名简书:https://www.jianshu.com/u/da1677475c27
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
Python-TXT文本操作相关推荐
- python txt文本操作
1. 读写模式 模式 要求 r 读取文件,若文件不存在则会报错 w 写入文件,若文件不存在则会先创建再写入,会覆盖原文件 a 写入文件,若文件不存在则会先创建再写入,但不会覆盖原文件,而是追加在文件末 ...
- 【新星计划】 Python的txt文本操作-读、写
Python的txt文本操作-读.写 读取txt文本 python常用的读取文件函数有三种read().readline().readlines() 以读取上述txt为例,看一下三者的区别 read( ...
- Python代码 | 文本操作 统计英文文本中,每个字母出现的次数
Python代码 | 文本操作 统计英文文本中,每个字母出现的次数 # -*- coding: utf-8 -*- # 使用oepn获取文件路径 # path=open("arrogant. ...
- Python之文本操作
Python之文本操作 文本文件 文本文件是一种典型的顺序文件,其文件的逻辑结构又属于流式文件.文本文件是指以 ASCII 码方式(也称文本方式)存储的文件,更确切地说,英文.数字等字符存储的是 AS ...
- python txt文本特定字符串提取
方法一: 思路:将txt文件读成一个字符串,在整个字符串中进行匹配,匹配到的是数组,再从数组的对应位置取数据 txt样例: ------begin checkaccuracy--------- Val ...
- python txt文本转json格式
这两天压测项目组没提供文档全靠抓包,抓取的参数是这样的loginname:jsdl,由于参数太多一条一条添加太麻烦,手动转json也比较麻烦,由于开发人员不配合只能自己动手, import json ...
- aspnet中gridview文本只显示开始几个文本_软网推荐:三个小软件 轻松解决文本操作难题...
TXT文本操作在Windows操作中算是比较容易的事了,但简单的文本操作也会遇到难题.例如,对于我们反复需要使用的多个信息,如果仅靠Ctrl+C和Ctrl+V来回复制.粘贴,效率会极低:再如,对于一些 ...
- android 文件流转换为zip文件_PDF文件如何转换为TXT文本?教您一招高效转换的方法...
我们见过很多的文件格式,如果说最常见的文件格式想必要属于TXT文本格式了. 大多数人都用过TXT文本格式临时记录几件事或者临时记录几句话,毕竟TXT文件是微软在操作系统中附带的一种文本格式. 如果说T ...
- excel转换txt文本(matlab版本)
本文讲解matlab如何将excel转换成txt文本,用到主要matlab函数xlsread(),fprint()两个函数,xlsread()读取excel文件,fprint()将字符串输出到文本. ...
- [Python学习] 专题五.列表基础知识 二维list排序、获取下标和处理txt文本实例
通常测试人员或公司实习人员需要处理一些txt文本内容,而此时使用Python是比较方便的语言.它不光在爬取网上资料上方便,还在NLP自然语言处理方面拥有独到的优势.这篇文章主要简单的介绍使用Pytho ...
最新文章
- linux上传文件到服务器
- 【源码类】开源项目汇总
- 选择结构_穿透的switch语句
- 《Inside XAML》翻译半成品
- java 二阶段提交,二阶段提交协议(Two Phase Commitment Protocol)
- 牛客网模拟笔试——膨胀的牛牛(JavaScript)
- Building a Better Vocabulary: Lecture 1 Five Principles for Learning Vocabulary
- c语言学生管理p1指向编译错误,在ubuntu下用C语言编写一个学生管理系统,编译时出错,紧急求救!!!...
- 巴别塔圣经_巴别塔简短简要指南
- 常用计算机二级题库,2016最新计算机二级office题库
- 理解运放的虚断和虚短
- 最全的CDR抠图教程
- pandas按行、按列合并数据
- 领存技术至强 E5-2648L 6U VPX 通用密集计算刀片
- UBOOT----基于itop4412开发板,从0开始,慢慢摸索UBOOT的启动流程和系统组织结构(一)
- wps底纹去不掉_WPS广告太多,关又关不掉,其实它有无广告的版本
- 手把手教你用Arduino接入阿里云物联网平台,ESP8266连接阿里云物联网平台必看教程...
- 仿菁优网首页动画效果
- mysql勒索_mysql数据库被勒索删库怎么办
- 哪款软件可以测试刘海,测试自己适合什么刘海 按照脸型来选一测便知