如何在Python中逐行逐字符解析文件?

1 投票
2 回答
7658 浏览
提问于 2025-04-15 19:14

在Python中,如何逐个字符地从一个源文件中读取内容,直到遇到行结束符?还有,如何检查行结束符,以便可以开始读取下一行?最后,如何检查文件结束的条件,以便完成整个文件的读取?谢谢!:)

2 个回答

1

你不需要担心行和文件的结尾问题,只需执行下面的代码:

file = open('yourfile', 'r')
for line in file.readlines():
    for c in line:
        # do sth.
8

你可以在Python中简单地逐行处理文本。如果你想让Python自动处理不同操作系统(比如Windows、UNIX和Mac)之间的换行符,可以使用通用的换行模式:

with open("mytextfile.txt", "rtU") as f:
  for line in f:
    # Now you have one line of text in the variable "line" and can
    # iterate over its characters like so:
    for ch in line:
      ... # do something here

在这个示例代码中,你不需要自己去处理行结束符(EOL)或文件结束符(EOF)。

需要注意的是,line这个变量包含了行结束符。如果你不想要这些换行符,可以使用line = line.rstrip()这样的代码来去掉它们。

撰写回答