如何在Python 3中处理纯文本文件

介绍

Python是处理数据的好工具。很可能你编写的任何程序都涉及读取、写入或操作数据。因此,了解如何处理存储不同类型数据的不同文件格式尤其有用。 例如,考虑一个Python程序,它检查用户列表以进行访问控制。您的用户列表可能会存储并保存在文本文件中。也许你不使用文本,而是有一个程序,进行财务分析。为了进行一些数字处理,您可能需要从保存的电子表格中输入这些数字。无论您的应用程序如何,几乎可以确保涉及输入或输出数据。 本教程将简要介绍Python能够处理的一些格式类型。在简要介绍文件格式之后,我们将介绍如何在Python 3中打开,读取和写入文本文件。 完成本教程后,您将能够处理Python中的任何文本文件。

先决条件

对于本教程,您应该安装Python 3以及在计算机上设置的本地编程环境。如果不是这样,您可以通过遵循适用于您的操作系统的安装和设置指南来设置:

背景

Python是超级包容,可以相对轻松地处理许多不同的文件格式,包括但不限于以下:
文件类型 描述
文本 纯文本文件存储仅表示字符(或字符串)的数据,并排除任何结构化元数据
CSV 逗号分隔值文件使用逗号(或其他分隔符)来结构存储的数据,从而允许以表格格式保存数据
HTML 超文本标记语言文件存储结构化数据,并且通常用于大多数网站
JSON JavaScript Object Notation是一种简单而高效的格式,使其成为存储和传输数据最常用的格式之一
本教程将重点放在 TXT文件格式。

第1步 - 创建文本文件

在我们开始使用Python之前,我们需要确保我们有一个文件可以使用。 要做到这一点,我们将打开一个文本编辑器并创建一个新的txt文件,姑且称之为 days.txt 。 在新文件中,输入几行文本。在这个例子中,让我们列出星期:
days.txt
Monday
Tuesday
Wednesday
Thursday
Friday
Saturday
Sunday
接下来,保存您的文件,并确保你知道你把它放在哪里。在我们的例子,我们的用户 sammy ,这里保存的文件: /users/sammy/days.txt 。这在后面的步骤中非常重要,我们在Python中打开文件。 现在我们有一个txt文件要处理,我们可以开始我们的代码!

第2步 - 打开文件

之前,我们可以写我们的计划,我们必须创建一个Python编程文件,所以创建文件 files.py用文本编辑器。 为了让事情变得简单,它保存在同一目录作为我们 days.txt文件: /users/sammy/ 。 要在Python中打开文件,我们首先需要一些方法将磁盘上的文件与Python中的变量关联。这个过程被称为 打开一个文件。 我们开始告诉Python文件在哪里。 的文件的位置通常被称为文件 路径 。 为了让Python打开你的文件,它需要路径。 我们的路径 days.txt文件是: /users/sammy/days.txt 。 在Python中,我们将创建一个字符串变量来存储这些信息。 在我们的 files.py脚本中,我们将创建 path变量和变量设置为days.txt路径。
files.py
path = '/users/sammy/days.txt'
然后,我们将使用Python open()函数打开我们的 days.txt文件。 在 open()函数需要作为第一个参数的文件路径。 该函数还允许许多其他参数。 然而,最重要的是可选的 mode参数。 Mode是一个可选字符串,指定打开文件的模式。您选择的模式将取决于您要对文件执行的操作。这里有一些我们的模式选项:
  • 'r'用于读取
  • 'w'用于写作
  • 'x'用于创建并写入到新的文件
  • 'a'使用附加到文件
  • 'r+'用于读取和写入同一个文件
在这个例子中,我们只希望从文件中读取,所以我们将使用 'r'模式。 我们将使用 open()函数打开 days.txt文件,并将其赋值给变量 days_file
files.py
days_file = open(path,'r')
在我们打开文件后,我们可以从它读取,我们将在下一步中做。

第3步 - 读取文件

由于我们的文件已经打开,我们现在可以通过我们分配给它的变量来操作它(即从它读取)。 Python提供了三个相关的操作来从文件中读取信息。我们将展示如何使用所有三个操作作为示例,您可以尝试了解它们如何工作。 第一次运行 <file>.read()返回文件的全部内容作为一个字符串。
days_file.read()
Output'Monday\nTuesday\nWednesday\nThursday\nFriday\nSaturday\nSunday\n'
第二个操作 <file>.readline()返回文件的下一行,返回文本直到并包括下一个换行符。更简单地说,这个操作将逐行读取文件。
days_file.readline()
Output'Monday\n'
因此,一旦使用readline操作读取一行,它将传递到下一行。因此,如果您再次调用此操作,它将返回文件中的下一行,如图所示。
days_file.readline()
Output'Tuesday\n'
最后的操作, <file>.readlines()返回文件,其中该列表的每个项表示一行中的行的列表。
days_file.readlines()
Output['Monday\n', 'Tuesday\n', 'Wednesday\n', 'Thursday\n', 'Friday\n', 'Saturday\n', 'Sunday\n']
当您从文件读取时,要记住一些事情,一旦使用其中一个读取操作读取了文件,将无法再次读取。例如,如果你要第一次运行 days_file.read()之后 days_file.readlines()的第二操作将返回一个空字符串。因此,任何时候你希望从文件中读取,你必须首先打开一个新的文件变量。现在我们已经从文件中读取,让我们学习如何写入一个新文件。

第4步 - 编写文件

在这一步中,我们将编写一个新的文件,包括随后一周的 星期几的标题 。 首先,让我们创建我们的 title变量。
files.py
title = 'Days of the Week\n'
我们还需要一周的天存储在一个字符串变量,我们称之为 days 。 为了使其更容易遵循,我们包括上述步骤的代码。 我们打开读取模式文件,读取文件,并从读操作返回输出存储在我们的新变量 days
files.py
path = '/users/sammy/days.txt'
days_file = open(path,'r')
days = days_file.read()
现在我们有标题和星期几的变量,我们可以开始写我们的新文件。首先,我们需要指定文件的位置。同样,我们将使用目录 /users/sammy/ 。 我们必须指定我们希望创建的新文件。 所以,我们的道路实际上是 /users/sammy/ new_days.txt 。 我们提供了我们的位置信息 new_path变量。 然后,我们在写模式下打开新文件,使用 open()的函数 'w'指定的模式。
files.py
new_path = '/users/sammy/new_days.txt'
new_days = open(new_path,'w')
重要的是要注意,如果new_days.txt开放其原有的内容将被销毁的文件之前已经存在,使用时要小心 'w'模式。 一旦我们的新文件被打开,我们可以把数据放入该文件,使用写入操作, <file>.write()写操作采用单个参数,该参数必须是字符串,并将该字符串写入文件。如果要在文件中开始新行,则必须显式提供换行符。首先,我们将文件的标题写入文件,然后是星期几。让我们还在一些打印语句中添加我们正在写出的内容,这通常是跟踪脚本进度的好习惯。
files.py
new_days.write(title)
print(title)

new_days.write(days)
print(days)
最后,每当我们完成一个文件,我们需要确保关闭它。我们在最后一步展示这一点。

第5步 - 关闭文件

关闭文件确保磁盘上的文件和文件变量之间的连接完成。关闭文件还确保其他程序能够访问它们,并确保您的数据安全。所以,总是确保关闭您的文件。现在,让我们关闭使用我们所有的文件 <file>.close()函数。
files.py
days_file.close()
new_days.close()
我们现在已经完成在Python中处理文件,并可以继续查看我们的代码。

第6步 - 检查我们的代码

在我们运行我们的代码之前,让我们确保一切都很好。最终产品应该看起来像这样:
files.py
path = '/users/sammy/days.txt'
days_file = open(path,'r')
days = days_file.read()


new_path = '/users/sammy/new_days.txt'
new_days = open(new_path,'w')

title = 'Days of the Week\n'
new_days.write(title)
print(title)

new_days.write(days)
print(days)

days_file.close()
new_days.close()
保存代码后,打开终端并运行Python脚本,如下所示:
python files.py
我们的输出应该看起来像这样:
OutputDays of the Week

Monday
Tuesday
Wednesday
Thursday
Friday
Saturday
Sunday
现在,让我们仔细检查我们的代码打开新文件(全工作 new_days.txt )。如果一切顺利,当我们打开我们的新文件,它应该看起来像这样:
new_days.txt
Days of the Week
Monday
Tuesday
Wednesday
Thursday
Friday
Saturday
Sunday
您的文件将看起来相同或类似 - 您已成功完成本教程!

结论

在本教程中,我们讨论了如何在Python 3中处理和处理纯文本文件。现在,您可以在Python中打开,读取,写入和关闭文件,并且可以继续使用Python中的数据。
赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏