Python函数读取文本文件内容至列表
Python是一种动态语言,可以在短时间内编写出简洁优美的代码。Python中的函数在实现复杂逻辑时,可以大大减少代码量,并提高代码的可读性和可维护性。Python函数读取文本文件内容至列表是一个很常见的应用场景,可以用于处理大量文本数据,如日志文件、配置文件等。
一、文件读取
Python提供了open函数用于打开文件,它接受两个参数:文件名和文件打开模式。文件打开模式有多种,常见的有:
- 'r' 只读模式,默认。
- 'w' 只写模式,如果文件不存在则创建,如果文件存在则清空文件。
- 'a' 追加模式,如果文件不存在则创建,如果文件存在则在文件末尾追加。
- 'x' 创建模式,如果文件存在则报错,如果文件不存在则创建新文件。
另外,还有一些扩展的文件打开模式:
- 'b' 二进制文件模式。
- 't' 文本文件模式,默认。
- '+' 与r/w/a/x一起使用,表示同时读写文件。
- 'U' 在读取时,所有的换行符(\r
、\r、
)都转换为
,文件中的所有文本都将转化为
为分割的字符串。
二、读取文本文件至列表
读取文本文件至列表通常需要使用两个Python函数:open和readlines。
open函数用于打开文件,readlines函数用于读取文本文件的每一行,并把它们存储到一个列表中。
以下是一个读取文本文件至列表的Python函数实现:
def read_file_to_list(file_path):
try:
with open(file_path, 'r') as f:
lines = f.readlines()
return lines
except FileNotFoundError:
print('File not found!')
return []
该函数接受一个文件路径作为参数,如果文件路径不存在,则会返回一个空列表。
使用该函数读取文本文件的内容时,只需要调用该函数并传入正确的文件路径即可。以下是一个示例:
file_path = './test.txt' # 文件路径
lines = read_file_to_list(file_path) # 调用函数
如果test.txt文件存在,并且文件的内容如下:
hello, world!
how are you?
I'm fine, thank you.
执行上述Python代码后,会得到一个包含文件所有行内容的列表:
['hello, world!
', 'how are you?
', "I'm fine, thank you.
"]
三、逐行处理文本文件
如果需要逐行处理文本文件而不是把文件所有行内容存储到一个列表中,可以使用Python的for循环逐行迭代文件内容。
以下是一个逐行处理文本文件的Python函数实现:
def process_file_by_line(file_path):
try:
with open(file_path, 'r') as f:
for line in f:
# 在这里对每一行做处理
line = line.strip() # 去除行末的换行符
print(line)
except FileNotFoundError:
print('File not found!')
此函数接受一个文件路径作为参数,并使用Python的for循环逐行处理文本文件的内容。在迭代每一行时,可以对每一行进行特定处理。
四、结语
到这里,我们已经了解了Python函数如何读取文本文件内容,并将其存储到列表中。在实际开发中,读取文本文件内容至列表是一个很常见的需求,我们可以根据具体应用场景进行相应的改进和扩展。
