如何使用Python将文本文件的奇数行拷贝到另一个文件

如何使用Python将文本文件的奇数行拷贝到另一个文件

在本文中,我们将展示如何使用Python仅将文本文件的奇数行拷贝到另一个文本文件中。

假设我们有一个名为 TextFile.txt 的文本文件,其中包含一些随机文本。我们需要将文本文件的所有奇数行复制到另一个文件并将其打印出来。

TextFile.txt

Good Morning
This is the Tutorials Point sample File
Consisting of Specific
source codes in Python,Seaborn,Scala
Summary and Explanation
Welcome everyone
Learn with a joy

算法(步骤)

以下是执行所需任务的算法/步骤−

  • 创建一个变量以存储文本文件的路径。

  • 使用 open() 函数(打开文件并返回文件对象作为结果)通过将文件名和模式作为参数传递给该函数来以只读模式打开文本文件(这里“ r ”表示只读模式)。

readFile = open(inputFile, "r")
  • 创建一个变量以存储只包含给定输入文件的奇数行的输出文件路径。

  • 使用 open() 函数(打开文件并返回文件对象作为结果)通过将文件名和模式作为参数传递给该函数在写模式下打开输出文件(这里“ w ”表示 write 模式)。

  • 使用 readlines() 函数(返回一个列表,其中以列表项的形式表示文件中的每一行。要限制返回的行数,请使用提示参数。如果返回的总字节数超过指定的数字,则不会返回更多的行)获取给定输入文本文件的行列表。

file.readlines(hint)
  • 使用for循环遍历读取文本文件的每一行,直到文件的长度结束。使用len()函数(该方法返回对象中的项目数)计算读取文件的长度。

  • 使用if条件语句确定读取文件行的索引是否为奇数。

  • 如果条件成立,则使用 write() 函数(将指定的文本写入文件。根据文件模式和流位置插入所提供的文本)将读取文件行写入输出文件。

  • 打印给定输入文件的奇数行。

  • 使用 close() 函数(用于关闭打开的文件)关闭写文件(输出文件)。

  • 使用 close() 函数(用于关闭打开的文件)关闭读文件(输入文件)。

示例

以下程序仅将文本文件的奇数行拷贝到另一个文本文件中,并打印结果的奇数行−

# 输入文本文件
inputFile = "ExampleTextFile.txt"
# 以只读模式打开给定的文件。
readFile = open(inputFile, "r")

# 输出文本文件路径
outputFile = "PrintOddLines.txt"
# 以写模式打开输出文件。
writeFile = open(outputFile, "w")

# 使用 readlines() 函数读取上述读取文件的每一行
ReadFileLines = readFile.readlines()
# 遍历读取的文本文件中的每一行
for excelLineIndex in range(0, len(ReadFileLines)):

   # 检查行号即 excelLineIndex 是否是奇数
   # 取模 2 即 %2 对于奇数为 1,偶数为 0
   if(excelLineIndex % 2 != 0):
      # 如果索引是奇数,则将读取的文件行写入
      # 输出文件
      writeFile.write(ReadFileLines[excelLineIndex])
      # 打印奇数行
      print(ReadFileLines[excelLineIndex])

# 关闭写文件
writeFile.close()

# 关闭读文件
readFile.close()

输出

在执行程序后,上述程序将生成以下输出——

这是 Tutorials Point 的示例文件
PythonSeabornScala 的源代码
欢迎大家

我们给程序提供一个包含随机内容的文本文件,然后以读取模式打开它。然后使用 readlines() 函数来检索文件中所有行的列表,并将其保存在一个变量中。我们遍历了文件,直到遍历完所有行,检查行号是否是奇数。如果是奇数行,我们将其追加到一个新文件中并打印它。

结论

到目前为止,我们已经学习了如何打开文件、读取其行以及通过索引遍历其行,这可以用于获取信息,例如第 n 个索引行的值或 Excel 表中的第 n 行。此外,我们还讨论了如何通过索引检索行的值并将该数据写入文件。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程