入门人工智能 —— 使用 Python 进行文件读写,并完成日志记录功能(4)
  fFjuZ1VHKhC3 2023年11月02日 45 0



入门人工智能 —— 使用 Python 进行文件读写(4)

  • 入门人工智能 —— 使用 Python 进行文件读写
  • 打开文件
  • 读取文件内容
  • 读取整个文件
  • 逐行读取文件内容
  • 读取所有行并存储为列表
  • 写入文件内容
  • 关闭文件
  • 日志记录功能
  • 核心代码:
  • 完整代码:
  • 运行结果
  • 学习进度


入门人工智能 —— 使用 Python 进行文件读写

在人工智能领域,文件读写是一项重要的任务,因为需要处理数据集、日志等文件。Python 提供了简单而强大的文件处理功能,让我们能够轻松地读取和写入文件。这篇文章,我们将学习如何使用 Python 进行文件读写操作。

打开文件

要操作文件,首先需要打开它。Python 提供了 open() 函数来打开文件。以下是一个示例:

该测试文件 app.log 是和代码文件同一个目录下。

入门人工智能 —— 使用 Python 进行文件读写,并完成日志记录功能(4)_python


我的日志文件内容如下:

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)

入门人工智能 —— 使用 Python 进行文件读写,并完成日志记录功能(4)_打开文件_02

逐行读取文件内容

# 打开一个日志文件
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)

入门人工智能 —— 使用 Python 进行文件读写,并完成日志记录功能(4)_python_03

读取所有行并存储为列表

# 打开一个日志文件
file = open("app.log", "r")  # "r" 表示只读模式

# 读取所有行并存储为列表
lines = file.readlines()
for line in lines:
    print(line)

入门人工智能 —— 使用 Python 进行文件读写,并完成日志记录功能(4)_读取文件_04

写入文件内容

要向文件中写入数据,可以使用 write() 方法。以下是一个示例:

# 打开文件以供写入
file = open("app.log", "w")

# 写入文本内容
file.write("为什么!\n")
file.write("不为什么")

# 关闭文件
file.close()

入门人工智能 —— 使用 Python 进行文件读写,并完成日志记录功能(4)_打开文件_05

请注意,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 进行文件读写,并完成日志记录功能(4)_读取文件_06

入门人工智能 —— 使用 Python 进行文件读写,并完成日志记录功能(4)_读取文件_07

学习进度

上面介绍了如何使用Python进行文件读写操作,以下是文章的主要要点:

  1. 打开文件:文章首先介绍了如何使用Python的open()函数来打开文件,并解释了常见的文件打开模式,如只读、写入和追加模式以及二进制模式。
  2. 读取文件内容:文章讨论了不同的方法来读取文件内容,包括使用read()readline()readlines()等方法。示例代码演示了如何逐行读取文件内容,或者将所有行存储为列表。
  3. 写入文件内容:文章展示了如何使用write()方法将数据写入文件,并强调了需要显式添加换行符来分隔行。
  4. 关闭文件:强调了在文件操作完成后关闭文件的重要性,以释放资源和确保数据不会丢失。with语句是一个良好的做法,可以自动关闭文件。
  5. 日志记录功能:文章最后介绍了如何扩展文件操作以实现一个简单的日志记录功能。通过封装日志记录的代码为一个函数wLog,并添加了时间戳,实现了更方便的日志记录。

下篇文章就开始我们的人工智能基础——自然语言处理


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
fFjuZ1VHKhC3