用python实现读写文件常见操作方式
Posted 逍遥知道
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用python实现读写文件常见操作方式相关的知识,希望对你有一定的参考价值。
1 文件读取全文本操作
在一定场景下我们需要把文本全部内容读取出来,进行处理。python提供三种函数读取文件,分别是read readline readlines,
read():读取文件的全部内容,加上参数可以指定读取的字符。
readline():读取文件的一行。
readlines():读取文件的所有行到内存中。
不同场景下我们可以选择不同函数对文件进行读取。
1.1 方法一
file_name = input("请输入你要打开的文件的完整路径及名称") file = open(file_name, "r") txt = file.read() # 全文本的处理 file.close()
使用read函数将文件中的内容全部读取,放在字符串变量txt中。这样操作适合于文本较小,处理简单的情况,当文件较大时,这种方式处理时不合适的。一次性读取较大的文件到内存中,会耗费较多的时间和资源。这时候分批处理效果更好。
1.2 方法二
file_name = input("请输入你要打开的文件的完整路径及名称") file = open(file_name, "r") txt = file.read(4) # 文本的处理 while txt != "" txt = file.read(4) # 批量文本处理 file.close()
这种方法适合于分批处理文本信息,每次批量读入,批量处理,不会对内存造成较大的压力。
1.3 方法三
file_name = input("请输入你要打开的文件的完整路径及名称") file = open(file_name, "r") for line in file.readlines(): # 处理每一行数据 file.close()
这种处理方式适合处理以行为分割特点的文本,并且文本较小,因为这种处理方式需要一次性把文件所有内容读取到内存中。
1.4 方法四
file_name = input("请输入你要打开的文件的完整路径及名称") file = open(file_name, "r") # 这里的file时文件句柄 for line in file: # 处理每一行数据 file.close()
这种方式和方法三中的区别是分行读入,逐行处理,不会一次性把文件所有内容都读入到内存中,对一些大文件的处理是很有效的。
2 文件写入文本操作
文件写入有两种写入函数和一种辅助支持。
write():向文件中写入一个字符或者字节流
writelines():将一个元素全为字符串的列表写入到文件中 需要注意的是,writelines写入列表元素的时候会把列表元素的内容拼接到一起写入,不会有换行和空格 。
seek(): 辅助写入函数offset偏移量参数代表含义如下
0 - 文件开头
1 - 当前位置
2 - 文件结尾
2.1 方法一
file_name = input("output.txt", "w+") text = "hello world!" file_name.write(text) file.close()
2.2 方法二
file_name = input("output.txt", "w+") list = ["中午","早上","晚上"] file_name.writelines(list) for line in file: # 读取写入的数据,这时候发现是没有任何内容的 file.close()
我们增加一行代码就可以读取到写入的文件内容,利用seek()函数调整写操作指针的位置,可以实现写操作之后的正常读取。
file_name = input("output.txt", "w+") list = ["中午","早上","晚上"] file_name.readlines(list) file_name.seek(0) # 调整写的指针到文件的开始位置 for line in file: # 读取写入的数据,这时候会读出一行写入的数据。 file.close()
原文链接:https://blog.csdn.net/qq_43279637/article/details/106781611
以上是关于用python实现读写文件常见操作方式的主要内容,如果未能解决你的问题,请参考以下文章