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的简单读写模式与操作的更多相关文章

  1. Python中关于csv的简单操作

    Python中关于csv的简单操作 CSV操作简单,直接import csv即可, 主要使用reader和pandas 1 reader的简单使用 csv.reader("1.csv&quo ...

  2. python应用:TXT文件的读写

    python读写TXT文件不需要导入包 python中常用的读写方式: 文件打开模式 描述 r 以只读模式打开文件,并将文件指针指向文件头:如果文件不存在会报错 w 以只写模式打开文件,并将文件指针指 ...

  3. Python中从SQL型数据库读写dataframe型数据

    Python的pandas包对表格化的数据处理能力很强,而SQL数据库的数据就是以表格的形式储存,因此经常将sql数据库里的数据直接读取为dataframe,分析操作以后再将dataframe存到sq ...

  4. 转:python中使用txt文本保存和读取变量

    问题: 在python中需要经常有需要提前生成复杂的计算结果变量的需求减少程序计算运行时间的需求,因此这里把变量存在txt文本文件中. 解决方法: 使用两个函数解决问题,一个函数把变量保存到文本文件中 ...

  5. python中写入txt文件需要换行,以及\r 和\n

    在Python中,用open()函数打开一个txt文件,写入一行数据之后需要一个换行 如果直接用 f.write(’\n’)只会在后面打印一个字符串’\n’,而不是换行’需要用 f.write(’\r ...

  6. 第9.11节 Python中IO模块文件打开读写操作实例

    为了对前面学习的内容进行一个系统化的应用,老猿写了一个程序来进行文件相关操作功能的测试. 一. 测试程序说明 该程序允许测试人员选择一个文件,自己输入文件打开模式.写入文件的位置以及写入内容,程序按照 ...

  7. Python中的lambda的简单介绍

    在学习python的过程中,lambda的语法经常出现,现在将它整理一下,以备日后查看. 1.lambda是什么? 举个例子如下: func=lambda x:x+1 print(func(1)) p ...

  8. Python中读取txt文本出现:SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape问题解决

    windows中的路径是反斜杠\,然而反斜杠\在python中有着转义字符的意义,所以在py文件中写windows文件路径的时候,要特别注意反斜杠\的使用. 下面有三种解决方式: 方式一:转义的方式 ...

  9. Python中xlrd和xlwt模块读写Excel的方法

    本文主要介绍可操作excel文件的xlrd.xlwt模块.其中xlrd模块实现对excel文件内容读取,xlwt模块实现对excel文件的写入. 着重掌握读取操作,因为实际工作中读取excel用得比较 ...

随机推荐

  1. DRF视图-5个扩展类以及GenericAPIView基类

    视图 5个视图扩展类 视图拓展类的作用: 提供了几种后端视图(对数据资源进行曾删改查)处理流程的实现,如果需要编写的视图属于这五种,则视图可以通过继承相应的扩展类来复用代码,减少自己编写的代码量. 这 ...

  2. Java入门第二季学习总结

    课程总概 该门课程作为java入门学习的第二季,是在有一定的java基础上进行的进一步学习.由于该季涉及到了java的一些核心内容,所以相对第一季来说,课程难度有所提升.大致可将该季的课程分为五部分: ...

  3. SpringCloud学习(四)断路器(Hystrix)(Finchley版本)

    在微服务架构中,根据业务来拆分成一个个的服务,服务与服务之间可以相互调用(RPC),在Spring Cloud可以用RestTemplate+Ribbon和Feign来调用.为了保证其高可用,单个服务 ...

  4. 随笔--第一次使用crontab linux选择编辑器问题

    第一次使用crontab 时,会出现:no crontab for root - using an empty one “Select a editor ......”下面有几个选项,就是叫你选择编辑 ...

  5. Java-Redis 热部署问题

    项目请求时报错: java.lang.ClassCastException: cn.xingaohbd.seckil.model.User cannot be cast to cn.xingaohbd ...

  6. Node数据库入门(登录注册功能)

    1.安装 (1).mysql模块安装 npm i mysql -D (2).co-msql模块安装(该模块不是一个独立的模块,而是mysql的封装,他可以把普通接连封装成一个可以做异步调用的连接) n ...

  7. poj2299(归并排序求逆序对)

    题目链接:https://vjudge.net/problem/POJ-2299 题意:给定一个序列,每次只能交换邻近的两个元素,问要交换多少次才能使序列按升序排列. 思路:本质就是求逆序对.我们用归 ...

  8. flask项目配置

    config.py: class Config(object): """项目的配置""" DEBUG = True SECRET_KEY = ...

  9. Makefile速查笔记

    Makefile速查笔记 Makefile中的几个调试方法 一. 使用 info/warning/error 增加调试信息 a. $(info "some text")打印 &qu ...

  10. 爬虫中什么是requests

    print(response.text) #响应的信息 print(response.headers) #获取响应头 print(response.status_code) #响应状态码 print( ...