如何使用Python从文本文件中删除特定行?
在本文中,我们将展示如何使用Python从文本文件中删除特定/特定行。
假设我们已经拿到一个名为 TextFile.txt 的文本文件,其中包含一些随机文本。我们将从文本文件中删除特定行(例如第二行)。
TextFile.txt
算法
以下是执行所需任务的算法/步骤:
-
创建一个变量以存储文本文件的路径。
-
使用 open() 函数(打开一个文件并返回文件对象作为结果),通过将文件名和模式作为参数传递给它来以只读模式打开文本文件(这里 “r” 表示只读模式)。
- 使用 readlines() 函数(返回表示文件中每行的列表项的列表。要限制返回的行数,请使用hint参数。如果返回的字节数的总数超过指定数量,则不返回更多的行)获取给定输入文本文件的行列表。
-
创建一个变量(包含行号),并将其值初始化为1。
-
使用 open() 函数(打开一个文件并返回文件对象作为结果),通过将文件名和模式作为参数传递给它来以写模式打开给定的文本文件(这里 “w” 表示写模式)。
-
使用for循环遍历文件中的每行。
-
使用 input() 函数将要删除的行号输入的方式作为动态输入( input() 函数从输入(从用户)读取一行,通过消除尾部换行符将其转换为字符串,并返回。当遇到EOF时,将抛出EOFError异常),并将其转换为整数使用 int() 函数(转换为整数)。
-
使用if条件语句确定行号是否不等于给定的删除行号。
-
如果条件为真,则使用 write() 函数(将指定的文本写入文件。提供的文本将根据文件模式和流位置插入)将对应的行写入文件。
-
增加行索引(行号)值1。
-
如果成功删除了给定行,则打印一些随机文本。
-
再次使用 open() 函数以只读模式打开输入文件,以打印删除给定特定行后的文件内容。
-
使用for循环遍历文件中的每行。
-
打印文本文件的每一行。
-
使用 close() 函数关闭已打开的文件。
示例
以下程序删除文本文件中的给定行,并在删除该行后打印结果文件内容:
输出
在执行时,上述程序将生成以下输出 –
我们给程序一个包含一些随机内容的文本文件,然后以读取模式打开它。我们创建一个变量来存储当前行号,并将其初始化为1,即起始行号。我们遍历文件,直到到达文件结尾,然后检查用户输入的数字是否等于要删除的行号。如果为假,则不需要删除或移除该行,因此我们将其写入文件。而非删除指定的行,我们将剩余的行添加到文件中,因此结果文件中不会出现已删除的行。对于每一行,行号的值增加1。
本文中,我们学习了如何从文本文件中删除特定行并保存剩余行。还学习了如何从头到尾遍历整个文本文件,以及如何读写数据到文本文件中。