Python中关于txt的简单读写模式与操作
Python中关于txt的简单读写操作
常用的集中读写模式:
1、r 打开只读文件,该文件必须存在。
2、r+ 打开可读写的文件,该文件必须存在。
3、w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。
4、w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。
5、a 以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。
6、a+ 以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。
7、上述的形态字符串都可以再加一个b字符,如rb、w+b或ab+等组合,加入b 字符用来告诉函数库打开的文件为二进制文件,而非纯文字文件。不过在POSIX系统,包含Linux都会忽略该字符。
1 读取全部内容
try:
#python3的open函数可以额外加一个encoding参数
txt_file_handle=open("1.txt","r",encoding="utf-8")
#read函数:直接取读文件的所有内容
#参数:根据长度读取内容
print(txt_file_handle.read(5))
print("*"*50)
#readline函数:读取文件的游标所在的一行
#seek(0):将文件的游标指向最开始的位置
txt_file_handle.seek(0)
print(txt_file_handle.readline())
print(txt_file_handle.readline())
#readlines函数:去读文件的所有行,返回的是列表
print("*"*50)
print(txt_file_handle.readlines())
print(txt_file_handle)
txt_file_handle.close()
except FileNotFoundError as e:
print ("文件不存在!")
2 逐行读取
# 打开文件
file_obj = open(txt_filename, 'r') # 逐行读取
line1 = file_obj.readline()
print(line1) # 继续读下一行
line2 = file_obj.readline()
print(line2) # 关闭文件
file_obj.close()
3 读取全部内容,返回列表
# 打开文件
file_obj = open(txt_filename, 'r') lines = file_obj.readlines() for i, line in enumerate(lines):
print ('{}: {}'.format(i, line)) # 关闭文件
file_obj.close()
4 写操作
# 打开文件
file_obj = open(txt_filename, 'w') # 写入全部内容
file_obj.write("《Python数据分析》")
file_obj.close() # 打开文件
file_obj = open(txt_filename, 'w') # 写入字符串列表
lines = ['这是第%i行\n' %n for n in range(100)]
file_obj.writelines(lines)
file_obj.close()
5 推荐写法
从上边几种读写方式中不难发现, 每次进行读写操作时都要调用close()函数将文件关闭, 使用起来并不方便,所以推荐以下写法:
try:
with open("1.txt","r+",encoding="utf-8")as txt_file_handle:
txt_file_handle.write()
except FileNotFoundError as e:
print ("文件不存在!")
文件操作的推荐写法, 只要是文件操作,保险起见都要用try except进行异常捕获, with 写法的特点:不需要手动close, write() 里面填写内容即可, 其中
with语句
- 包括了异常处理,自动调用文件关闭操作,推荐使用
- 适用于对资源进行访问的场合,确保无论适用过程中是否发生异常都会执行"清理"操作,如文件关闭、线程的自动获取与释放等
Python中关于txt的简单读写模式与操作的更多相关文章
- Python中关于csv的简单操作
Python中关于csv的简单操作 CSV操作简单,直接import csv即可, 主要使用reader和pandas 1 reader的简单使用 csv.reader("1.csv&quo ...
- python应用:TXT文件的读写
python读写TXT文件不需要导入包 python中常用的读写方式: 文件打开模式 描述 r 以只读模式打开文件,并将文件指针指向文件头:如果文件不存在会报错 w 以只写模式打开文件,并将文件指针指 ...
- Python中从SQL型数据库读写dataframe型数据
Python的pandas包对表格化的数据处理能力很强,而SQL数据库的数据就是以表格的形式储存,因此经常将sql数据库里的数据直接读取为dataframe,分析操作以后再将dataframe存到sq ...
- 转:python中使用txt文本保存和读取变量
问题: 在python中需要经常有需要提前生成复杂的计算结果变量的需求减少程序计算运行时间的需求,因此这里把变量存在txt文本文件中. 解决方法: 使用两个函数解决问题,一个函数把变量保存到文本文件中 ...
- python中写入txt文件需要换行,以及\r 和\n
在Python中,用open()函数打开一个txt文件,写入一行数据之后需要一个换行 如果直接用 f.write(’\n’)只会在后面打印一个字符串’\n’,而不是换行’需要用 f.write(’\r ...
- 第9.11节 Python中IO模块文件打开读写操作实例
为了对前面学习的内容进行一个系统化的应用,老猿写了一个程序来进行文件相关操作功能的测试. 一. 测试程序说明 该程序允许测试人员选择一个文件,自己输入文件打开模式.写入文件的位置以及写入内容,程序按照 ...
- Python中的lambda的简单介绍
在学习python的过程中,lambda的语法经常出现,现在将它整理一下,以备日后查看. 1.lambda是什么? 举个例子如下: func=lambda x:x+1 print(func(1)) p ...
- Python中读取txt文本出现:SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape问题解决
windows中的路径是反斜杠\,然而反斜杠\在python中有着转义字符的意义,所以在py文件中写windows文件路径的时候,要特别注意反斜杠\的使用. 下面有三种解决方式: 方式一:转义的方式 ...
- Python中xlrd和xlwt模块读写Excel的方法
本文主要介绍可操作excel文件的xlrd.xlwt模块.其中xlrd模块实现对excel文件内容读取,xlwt模块实现对excel文件的写入. 着重掌握读取操作,因为实际工作中读取excel用得比较 ...
随机推荐
- TP5中用redis缓存
在config.php配置文件下找到缓存设置,将原来的文件缓存修改为redis缓存,也可以改为多种类型的缓存: // +---------------------------------------- ...
- SpreadJS V13.0发布,聚焦表单设计与数据交互,让您的工作效率突飞猛进!
纯前端表格控件SpreadJS,是一款成功应用于华为.招商银行.天弘基金.苏宁易购等国内外知名企业的前端开发工具,其带来的价值不仅体现在帮助开发人员在其Web应用程序中快速构建 Web Excel . ...
- CENTOS 6-7的本地YUM源配置
本文档适合CENTOS 6-7的本地YUM源配置 cd /media cd CentOS_6.8_Final/ cd Packages 创建目录拷贝文件 mkdir /yum cp * /yum 配置 ...
- oracle数据库基于(streams流复制)的双机热备配置手册
------------------------------------------------------------------------------- 主数据库: 操作系统:windows 2 ...
- Linux就该这么学——新手必须掌握的命令之工作目录切换命令组
pwd命令 用途 : 用于显示用户当前所处的工作目录.如下图pwd命令运行结果所示 格式 : pwd[选项] 图pwd命令运行结果所示 cd命令 用途 : 用于切换工作路径,如图cd命令运行结果 格式 ...
- MySQL5.7,MySQL8 pfs,sys库使用
MySQL5.7中performance和sys schema中的监控参数解释 在MySQL5.7中,performance schema有很大改进,包括引入大量新加入的监控项.降低占用空间和负载,以 ...
- BZOJ 4899 记忆的轮廓
话说BZOJ 是不是死了啊 (已经没有传送门了) 设 $f[i][j]$ 表示走到第 $j$ 个位置确定了 $i$ 个存档点时的最小代价,并强制第 $j$ 个位置有一个存档点 那么设 $cst[i][ ...
- 使用python操作zookeeper
kazoo 介绍 zookeeper的开发接口以前主要以java和c为主,随着python项目越来越多的使用zookeeper作为分布式集群实现,python的zookeeper接口也出现了很多,现在 ...
- maven 常见命令 学习笔记(一)之 -pl -am -amd
假设现有项目结构如下 dailylog-parent|-dailylog-common|-dailylog-web 三个文件夹处在同级目录中 dailylog-web依赖dailylog-common ...
- 《深入实践C++模板编程》之五——容器与迭代器
1.容器的定义 容器:专门用于某种形式组织及存储数据的类称为“容器”. 2.容器与迭代器 迭代器:封装了对容器虚拟数据序列的操作并按约定提供统一界面以遍历容器内容的代理类即为迭代器. 举例理解 ...