Python 按行读取文件是文件操作中的常见需求,主要可以通过以下几种方法实现:
方法一:使用 readline()
函数
这是最基础的方法,通过循环调用文件的 readline()
方法逐行读取。
f = open("example.txt", "r")
while True:
line = f.readline()
if not line:
break
print(line, end="")
f.close()
优点:简单易用,适用于小文件。
缺点:需要手动关闭文件,容易忘记。
方法二:使用 readlines()
函数
通过一次性读取所有行到一个列表中,然后逐行处理。
with open("example.txt", "r") as f:
lines = f.readlines()
for line in lines:
print(line, end="")
优点:代码简洁,适合需要多次遍历文件的情况。
缺点:会一次性将所有行加载到内存,对大文件不友好。
方法三:使用 with
语句
这是推荐的**实践,结合 open()
函数和循环,自动管理文件资源。
with open("example.txt", "r") as f:
for line in f:
print(line, end="")
优点:自动关闭文件,避免资源泄漏;代码简洁,易于维护。
缺点:无。
方法四:使用 fileinput
模块
适用于需要修改文件内容或同时处理多个文件的情况。
import fileinput
with fileinput.input("example.txt") as f:
for line in f:
print(line, end="")
优点:支持文件修改和多个文件处理。
缺点:功能较复杂,对简单需求显得冗余。
方法五:使用 pandas
库
适用于处理大型数据文件或需要高效数据分析的场景。
import pandas as pd
df = pd.read_csv("example.txt", sep="\t", header=None)
print(df)
优点:高效处理大型文件,支持多种文件格式。
缺点:需要额外安装 pandas
库,增加依赖。
总结
推荐使用 with
语句 来按行读取文件,因为它简洁且安全。对于大型文件或需要高效处理的情况,可以考虑使用 pandas
库。其他方法则根据具体需求选择。