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. 直方图均衡化与直方图规定化的MATLAB实现

    目录 1.直方图均衡化 2.直方图规定化 @ 1.直方图均衡化 对图像进行非线性拉伸,重新分配图像像元值,使一定灰度范围内像元值的数量大致相等就是直方图的均衡化.原来直方图中间的峰顶部分对比度得到增强 ...

  2. Dlib支持CPU指令集编译问题(SSE4.2或者AVX)

    The compile script is: mkdir build cd build cmake ../../tools/python -DUSE_SSE2_INSTRUCTIONS=ON cmak ...

  3. CSS - Animate动画

    下载地址:https://daneden.github.io/animate.css/ 关键CSS样式:animate.css 引入CSS样式 <link rel="styleshee ...

  4. 通过SublimeCodeIntel设置JavaScript自动补全

    1.首先安装SublimeCodeIntel包. 进入sublime,通过Ctrl+Shift+P进入包管理,输入pci(首字母),选择Package Contrl:Intall Package,如图 ...

  5. Golang Module快速入门

    前言: 在Golang1.11之前的版本中,官方没有提供依赖和包管理工具.开发者通常会使用vendor或者glide的方式来管理依赖(也有直接使用GOPATH多环境方式),而在Golang1.11之后 ...

  6. thinkPHP连接数据库报错:PDOException in Connection.php line 295

    跑去网上找了N多方法来尝试,重装apache.mysql.安装集成软件都试过了.错误一样. 后来细细分析,PDOException in Connection指的不就是PDO异常吗? 然后去了解了一些 ...

  7. winform中如何使用timer控件实现欢迎(初始加载)窗口

    第一步.新建窗体项目命名为:TestWelcomeFrm,如下图: 第二步.在新项目中,增加欢迎窗口,命名为WelFrm,整个项目目录如下: 第三步.修改program.cs中启动代码如下: WelF ...

  8. 使用SQL语句查询Elasticsearch索引数据

    Elasticsearch 的官方查询语言是 Query DSL,存在毕竟有存在的道理,存在即合理.SQL 作为一个数据库查询语言,它语法简洁,书写方便而且大部分服务端程序员都清楚了解和熟知它的写法. ...

  9. 【div】给div添加滚动条

    <div class="infomation" style=" max-height: 500px; overflow: auto;"> style ...

  10. 进阶Java编程(8)反射应用案例

    1,反射实例化对象 经过一系列分析之后可以发现虽然获得了Class类的实例化对象但是依然觉得这个对象获取的意义不是很大,所以为了进一步的帮助大家理解反射的核心意义所在,下面将通过几个案例进行说明(都是 ...