Python如何实现逐行读取文本文件
作者:IT孔乙己 发布时间:2022-06-10 03:34:54
在Python 中有几种方法可以读取文本文件。
在本文中,我将介绍 open() 函数、read() 方法、readline() 方法、readlines() 方法、close() 方法和 with 关键字。
Python 中的 open() 函数是什么
如果要在 Python 中读取文本文件,首先必须打开它。
这是 Python 的 open() 函数的基本语法:
open("name of file you want opened", "optional mode")
文件名和正确路径
open("demo.txt")
如果文本文件和你当前的文件在同一目录(“文件夹”)中,那么你只需在 open() 函数中引用文件名即可。
以下是两个文件位于同一目录中的示例:
如果你的文本文件位于不同的目录中,则你需要引用文本文件的正确路径名。
在此示例中,random-text 文件位于与 main.py 不同的文件夹中:
为了在 main.py 中访问该文件,你必须在文件名中包含文件夹名称。
open("text-files/random-text.txt")
如果你没有正确的文件路径,那么你将收到如下错误消息:
open("random-text.txt")
跟踪你所在的目录非常重要,这样你可以引用正确的路径名。
open() 中的可选模式参数
处理文件时有不同的模式。默认模式是读取模式。
字母 r 代表读取模式。
open("demo.txt", mode="r")
你也可以省略 mode=,只用 "r"。
open("demo.txt", "r")
还有其他类型的模式,例如用于写入的 "w" 或用于追加的 "a"。我不会详细介绍其他模式,因为我们只会专注于读取文件。
有关其他模式的完整列表,请阅读文档。
Python 中 open() 函数的其他参数
open() 函数可以接收其他可选参数:
buffering
encoding
errors
newline
closefd
opener
阅读文档了解更多参数。
Python 中的 readable() 方法
如果要检查文件是否可以读取,则可以使用 readable() 方法。这将返回 True 或 False。
此示例将返回 True,因为我们处于读取模式:
file = open("demo.txt")
print(file.readable())
如果我将此示例更改为 "w"(写入)模式,则 readable() 方法将返回 False:
file = open("demo.txt", "w")
print(file.readable())
Python 中的 read() 方法
read() 方法会将文件的所有内容作为一个字符串读取。如果文本文件中的内容不多,这是一个很好的方法。
在本例中,我使用 read() 方法从 demo.txt 文件中打印出名称列表:
file = open("demo.txt")
print(file.read())
此方法可以接收一个名为 size 的可选参数。不是读取整个文件,而是只读取其中的一部分。
如果我们修改前面的例子,可以通过添加数字 4 作为 read() 的参数,只打印出第一个单词。
file = open("demo.txt")
print(file.read(4))
如果省略 size 参数,或者数字为负数,则将读取整个文件。
Python 中的 close() 方法
完成读取文件后,关闭它很重要。如果你忘记关闭文件,则可能会导致问题。
这是如何关闭 demo.txt 文件的示例:
file = open("demo.txt")
print(file.read())
file.close()
如何使用 with 关键字在 Python 中关闭文件
确保文件关闭的一种方法是使用 with 关键字。这被认为是一种很好的做法,因为文件会自动关闭,而你不必手动关闭它。
以下是如何使用 with 关键字重写我们的示例:
with open("demo.txt") as file:
print(file.read())
Python 中的 readline() 方法
此方法将从文件中读取一行并返回。
在这个例子中,我们有一个包含这两个句子的文本文件:
This is the first line
This is the second line
如果我们使用 readline() 方法,它只会打印文件的第一句话。
with open("demo.txt") as file:
print(file.readline())
此方法还接受可选的 size 参数。我们可以修改例子,加上数字 7 来只读取和打印出来This is:
with open("demo.txt") as file:
print(file.readline(7))
Python 中的 readlines() 方法
此方法将读取并返回文件中所有行的列表。
在此示例中,我们将使用 readlines() 方法将杂货项目打印为列表。
with open("demo.txt") as file:
print(file.readlines())
如何使用 for 循环从 Python 中的文件中读取行
这些不同读取方法的替代方法是使用 for 循环。
在这个例子中,我们可以通过循环对象打印出 demo.txt 文件中的所有项目。
with open("demo.txt") as file:
for item in file:
print(item)
with open("demo.txt") as file:
for item in file:
print(item)
来源:https://blog.csdn.net/pythondby/article/details/121905737


猜你喜欢
- 本文实例讲述了python中pygame针对游戏窗口的显示方法。分享给大家供大家参考,具体如下:在这篇教程中,我将给出一个demo演示:当我
- 简介如果你经常网上冲浪,这样参差不齐的多栏布局,是不是很眼熟啊?类似的布局,似乎一夜之间出现在国内外大大小小的网站上,比如 Pinteres
- 下拉框连动JavaScript代码,市区二级联动多级联动下拉选择框,动态获取下一级琥珀无限级联动菜单-JavaScript版 <htm
- 1. 场景描述linux服务器下安装了Anaconda3,执行Pyhton的K-means算法,结果出现如下图的中文字符乱码。上次已经解决了
- B-Tree 索引不同的存储引擎也可能使用不同的存储结构,i如,NDB集群存储引擎内部实现使用了T-Tree结构存储这种索引,即使其名字是B
- 今天记录一下pandas筛选出一个表中满足另一个表中所有条件的数据。例如:list1 结构:名字,ID,颜色,数量,类型。list1 = [
- 1. Http标准库1.1 http客户端func main() {response, err := http.Get("http
- 程序需求:输入用户名,密码认证成功显示欢迎信息输入错误三次后锁定用户流程图:好像画的不咋地查看代码:#!/usr/bin/env pytho
- 数据类型:float — 浮点数可以精确到小数点后面15位int — 整型可以无限 * ool — 非零为true,零为falselist —
- 尽量避免使用DOM。当需要反复使用DOM时,先把对DOM的引用存到JavaScript本地变量里再使用。使用设置innerHTML的方法来替
- 普通方法:爬取梨视频import reimport timeimport randomimport requestsfrom lxml im
- 在已经发表的系列文章中我们已经讨论了两个ASP对象:Application对象和Session对象,因此能够访问Application对象和
- 先上个效果图,就是用左右尖括号可改变中间日期的值。(点击中间显示区域有时间选择器弹框,用的插件就不说了,主要说自己原创的部分) &
- pycharm2019激活码是专门针对与pycharm2019这一款软件而研发的激活码,能够完美激活软件,并且能够支持2019.1版本,理论
- 本文分享自华为云社区《VSCode使用技巧》,作者:小聪不是小葱~ 。VsCode是一款开源的编辑器,拥有强大的功能,。由于拥有各种各样的插
- *args 和 **kwargs首先,要知道的是并不是必须写成*args和**kwargs。 只有变量前⾯的*才是必须的。所以,你也可以写成
- 1 丰富的二维动画/图形和视音频表现 Rich 2D animation/graphics with audio and video这点毋庸
- 求一个算式a=1b=2c=3 print c*(a/b)运行结果总是0,反复检查拆开以后,发现在Python里,整数初整数,只能得
- 前言前几天写了一篇MySQL高并发生成唯一订单号的方法,有人私信问有没有SQL server版本的,今天中午特地写了SQL server版本
- #!/usr/bin/env python# -*- coding:utf-8 -*-# *************************