跳至主要內容

9. 文件操作与管理

小白debug大约 3 分钟

9. 文件操作与管理

今天我们将一起探讨如何在 Python 中进行文件操作与管理。我将用简单易懂的方式向你介绍这个话题。

为什么要学习文件操作?

在计算机世界里,文件是存储和组织数据的重要方式之一。无论是文本文件、图片、视频,甚至你正在玩的游戏,都是以文件的形式存在的。学会如何在 Python 中进行文件操作,将会让你的编程技能更加强大,让你可以轻松处理各种数据。

打开和关闭文件

在进行文件操作之前,我们首先需要打开文件,就好像打开一本书一样。

# 打开一个文件
file = open('example.txt', 'r')

# 这里可以对文件进行一些操作

# 最后,别忘了关闭文件
file.close()

在上面的例子中,我们用 open 函数打开了一个名为 example.txt 的文件。参数 'r' 表示我们要以只读模式打开它。当我们完成了对文件的操作后,最后一定要记得关闭它。

注意: 如果你打开了文件但忘记关闭它,在 Windows 中可能会导致该文件在一段时间内被“锁定”,其他程序无法对其进行操作,这可能会产生一些问题。

# 错误的示范,未关闭文件
file = open('example.txt', 'r')
# 这里可以对文件进行一些操作,但忘记了关闭文件

读取文件内容

打开文件之后,我们可以从中读取内容。比如,我们可以逐行读取:

file = open('example.txt', 'r')

for line in file:
    print(line)

file.close()

这段代码会逐行打印出 example.txt 文件中的内容。

写入文件内容

除了读取,我们也可以往文件里写入内容:

file = open('new_file.txt', 'w')

file.write('Hello, World!\n')
file.write('This is a new line.')

file.close()

这段代码会创建一个新文件 new_file.txt,并往里写入两行文字。

不关闭文件会怎样?

如果打开的文件没有被关闭,会导致内存泄露的问题,尤其在处理大量文件时。下面是一个示例:

# 错误示例:未关闭文件
for i in range(1000):
    file = open(f'file_{i}.txt', 'w')
    file.write('Some content')

在这个示例中,我们打开了 1000 个文件,但没有关闭它们。这可能导致程序运行变慢或甚至崩溃,因为操作系统可能会耗尽可用的文件句柄。

实战例子:制作一个备忘录

让我们来动手实践一下!我们将制作一个简单的备忘录程序,可以让用户输入备忘录内容,然后将其保存到文件中。

def add_to_memo():
    memo = input("请输入备忘录内容:")
    with open('memo.txt', 'a') as file:
        file.write(memo + '\n')
    print("已添加到备忘录!")

def view_memo():
    try:
        with open('memo.txt', 'r') as file:
            print("​``oaicite:{"number":1,"invalid_reason":"Malformed citation 【备忘录内容】"}``​")
            for line in file:
                print(line.strip())
    except FileNotFoundError:
        print("备忘录为空。")

while True:
    print("\n选择操作:")
    print("1. 添加备忘录")
    print("2. 查看备忘录")
    print("3. 退出")

    choice = input("请输入数字选择操作:")

    if choice == '1':
        add_to_memo()
    elif choice == '2':
        view_memo()
    elif choice == '3':
        break
    else:
        print("无效的输入,请重新选择。")

这个程序允许用户添加备忘录并查看已有备忘录。备忘录会被保存在名为 memo.txt 的文件中。

总结

通过这篇文章,我们学会了如何在 Python 中进行文件操作与管理。我们了解了如何打开、读取和写入文件,还制作了一个简单的备忘录程序,巩固了所学知识。

希望你现在对文件操作有了更清晰的理解。继续加油,你已经掌握了处理文件的基本技能!

训练营看视频