在本文中,我们将了解 Python 中一些最常见的文件处理操作。我们将学习如何打开和关闭文件、读取和写入文件,以及如何将数据附加到现有文件。在本文结束时,您将为在 Python 中处理文件打下坚实的基础!
在 Python 中处理文件的第一步是打开它们!这是使用 打开() 功能。
该函数的语法如下:
打开(文件名,模式)
这 文件名 参数表示要打开的文件的名称。这 模式 参数表示您要打开文件的模式。最常见的模式是 'r' 对于只读, 'w' 对于只写,和 '一个' 为追加。
打开文件后,您可以开始读取或写入文件。但在我们开始之前,让我们看一个例子:
f = 打开(“testfile.txt”,“r”)
在上面的代码中,我们以只写模式打开了一个名为 testfile.txt 的新文件。请注意,我们已将生成的文件对象分配给变量“f”。这是因为一旦打开文件,之后需要再次关闭它。
注意:如果您尝试打开的文件不在您使用 Python 的当前目录中,则必须声明文件路径。确保复制所有反斜杠或在路径字符串前加上“r”。如果不这样做,您将收到文件读取错误。
"C:\\Users\\Ryan\\Desktop\\testfile.txt" #双反斜杠 r"C:\Users\Ryan\Desktop\testfile.txt" #'r' 前缀
要在 Python 中关闭文件,我们使用 关() 方法。出于几个原因,在 Python 中关闭文件很重要。
以下是如何在 Python 中关闭文件的示例:
f = open(“testfile.txt”, “r”) #以只读模式打开测试文件 print(f.read()) #将testfile.txt的内容打印到控制台 f.close() #关闭文件
我们再次以只写模式打开了测试文件。只有这一次我们在使用完文件后关闭了文件 关() 方法。
注意:代码行上井号 (#) 后面的所有文本都是注释,而不是代码的一部分。程序员使用注释来阐明该部分代码的用途。这有助于提高代码的可读性和故障排除。
在 Python 中读取文件是使用 读() 方法。这是一个例子:
f = 打开(“testfile.txt”,“r”) print(f.read()) #将testfile.txt的内容打印到控制台 f.close() #关闭文件
在这个代码片段中,我们再次打开了我们的测试文件,但这次是在只读模式('r')。然后我们使用 读() 我们的文件对象(由 f 表示)上的方法将文件的内容打印到控制台。
到目前为止非常简单!但是如果我们只想读取文件的一部分呢?在这种情况下,我们可以使用以下两种方法之一: 读取线() 或者 读取线() .
让我们快速浏览一下每一个:
读取线(): 从文件中读取一行并将其作为字符串对象返回
读线(): 从文件中读取所有行并将它们作为字符串对象列表返回
这是每个工作原理的示例:
f = 打开(“testfile.txt”,“r”) print(f.readline()) #打印测试文件的第一行 print(f.readlines()) #将testfile的全部内容打印为列表 f.close() #关闭文件
从上面的例子可以看出,使用 读取线() 将只打印我们文本文件的第一行(因为它一次只读取一行)。另一方面,使用 读取线() 将从我们的文本文件中打印出所有行(因为它将它们作为列表返回)。
现在让我们继续讨论将数据写入文件......要使用 Python 将数据写入文件,您需要使用 写线() 或者 写() .这两种方法非常相似: 写线() 同时写入多行 写() 一次只写一行。
f = 打开(“testfile.txt”,“w”) list = ["玫瑰是红色的\n","紫罗兰是蓝色的\n"] f.write("--编码诗-- \n") #写单行 f.writelines(list) #写入多行 f.close() #关闭文件
警告:以只写模式打开文件将覆盖该文件中已有的任何数据。
处理文件时的另一个常见操作是附加数据,即将数据添加到已经存在的文件而不覆盖其他任何内容。
f = 打开(“testfile.txt”,“a”) list2 = ["我学会了编码\n","你也可以!"] f.writelines(list2) f.close() #关闭文件
在上面的代码片段中,我们以追加模式打开了 testfile3 文件。然后我们在文件中附加了一行文本并关闭了文件。
如果您跟随编写文件并附加到现有文件部分,您应该有一个带有如下诗的文本文件:
你也可以练习 读() 使用此文件的模块。
所以你有它!处理文件 Python 时一些常见操作的速成课程。通过这些简单的操作,你可以做很多不同的事情。现在去开始建造令人惊奇的东西吧!
如果你喜欢这篇文章,请关注我阅读我以后的文章。
另外,请随时查看 我的博客 .
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明
本文链接:https://www.qanswer.top/35118/16131400