在人工智能领域,文件读写是一项重要的任务,因为需要处理数据集、日志等文件。Python 提供了简单而强大的文件处理功能,让我们能够轻松地读取和写入文件。这篇文章,我们将学习如何使用 Python 进行文件读写操作。
要操作文件,首先需要打开它。Python 提供了 open()
函数来打开文件。以下是一个示例:
该测试文件 app.log 是和代码文件同一个目录下。
app.log
2023-09-09 14:58:10,763 - DEBUG - 1
2023-09-09 14:58:10,763 - INFO - 12
2023-09-09 14:58:10,763 - WARNING - 123
2023-09-09 14:58:10,763 - ERROR - 1234
2023-09-09 14:58:10,763 - CRITICAL - 12345
main.py
# 打开一个日志文件以供读取
file = open("app.log", "r") # "r" 表示只读模式
# 打开一个日志文件以供写入
file = open("app.log", "w") # "w" 表示写入模式
在打开文件时,可以指定文件名和打开模式。常见的模式包括:
"r"
:只读模式(默认)。用于读取文件内容。"w"
:写入模式。用于创建新文件或覆盖已存在的文件内容。"a"
:追加模式。用于在文件末尾添加新内容。"b"
:二进制模式。用于处理二进制文件,例如图像或音频文件。一旦打开了文件,您可以使用不同的方法来读取文件内容,例如 read()
、readline()
和 readlines()
。以下是示例:
# 打开一个日志文件
file = open("app.log", "r") # "r" 表示只读模式
# 读取整个文件内容
content = file.read()
print(content)
# 打开一个日志文件
file = open("app.log", "r") # "r" 表示只读模式
# 逐行读取文件内容
line = file.readline()
while line:
print(line)
line = file.readline()
# 读取所有行并存储为列表
lines = file.readlines()
for line in lines:
print(line)
# 打开一个日志文件
file = open("app.log", "r") # "r" 表示只读模式
# 读取所有行并存储为列表
lines = file.readlines()
for line in lines:
print(line)
要向文件中写入数据,可以使用 write()
方法。以下是一个示例:
# 打开文件以供写入
file = open("app.log", "w")
# 写入文本内容
file.write("为什么!\n")
file.write("不为什么")
# 关闭文件
file.close()
请注意,write()
方法不会自动添加换行符,您需要显式添加 "\n"
来分隔行。
完成文件操作后,不要忘记关闭文件,以释放文件资源。file.close()
可以关闭,不过还有一种好的做法是使用 with
语句,它会在代码块执行完毕后自动关闭文件,无论是否发生异常。
with open("app.log", "r") as file:
content = file.read()
# 在这里执行文件操作,然后文件将在代码块结束时自动关闭
这是一个良好的习惯,可以确保文件得到适当地关闭,而不会占用资源或导致数据丢失。
基于上面的代码,我们知道了怎么写入文件,我们现在要对这个进行扩展完成一个简易的日志记录的功能:
with open("app.log", "a") as file:
file.write("我是追加的日志")
接接下来,我们要封装这个成一个方法,wLog。
def wLog(message):
# 打开文件并追加日志
with open("app.log", "a") as file:
file.write(message)
# 使用方法
wLog("这是一个日志消息")
但是这样还缺少一个时间,我们增加时间,在上述代码的基础上,我们进一步调整,下面是优化后的代码:
import datetime
def wLog(message):
# 获取当前时间
current_time = datetime.datetime.now()
formatted_time = current_time.strftime("%Y-%m-%d %H:%M:%S")
# 构建日志消息
log_message = f"{formatted_time}: {message}\n"
# 打开文件并追加日志
with open("app.log", "a") as file:
file.write(log_message)
# 使用示例
wLog("这是一个日志消息")
优化后的代码将日志记录功能封装成了一个函数 wLog 。这样,可以更轻松地记录日志。
上面介绍了如何使用Python进行文件读写操作,以下是文章的主要要点:
打开文件:文章首先介绍了如何使用Python的open()
函数来打开文件,并解释了常见的文件打开模式,如只读、写入和追加模式以及二进制模式。
读取文件内容:文章讨论了不同的方法来读取文件内容,包括使用read()
、readline()
和readlines()
等方法。示例代码演示了如何逐行读取文件内容,或者将所有行存储为列表。
写入文件内容:文章展示了如何使用write()
方法将数据写入文件,并强调了需要显式添加换行符来分隔行。
关闭文件:强调了在文件操作完成后关闭文件的重要性,以释放资源和确保数据不会丢失。with
语句是一个良好的做法,可以自动关闭文件。
日志记录功能:文章最后介绍了如何扩展文件操作以实现一个简单的日志记录功能。通过封装日志记录的代码为一个函数wLog
,并添加了时间戳,实现了更方便的日志记录。
下篇文章就开始我们的人工智能基础——自然语言处理