python批量处理txt文件的实例代码

yizhihongxing

下面是详细的Python批量处理txt文件的实例代码攻略:

1. 准备工作

在进行Python批量处理txt文件之前,我们需要在电脑上安装好Python,并掌握基本的Python语法。此外,我们还需要创建一个文件夹,用来存放需要处理的txt文件。

2. 确定处理方式

在进行Python批量处理txt文件时,我们需要先确定需要对txt文件做什么样的处理,例如计算平均数、打印每行内容等。

3. 编写批量处理代码

3.1 读取文件夹中的所有文件

使用os模块中的listdir()函数可以读取指定文件夹中的所有文件:

import os

path = "C:/example"
files = os.listdir(path)

3.2 遍历文件并处理

接下来,我们需要遍历上一步读取到的文件列表,并对每个文件进行指定的处理操作。例如,我们可以计算每个文件中所有数字的平均数:

import os

path = "C:/example"
files = os.listdir(path)

for filename in files:
    if filename.endswith(".txt"):
        with open(os.path.join(path, filename)) as f:
            lines = f.readlines()
            numbers = []
            for line in lines:
                line = line.strip()
                if line.isnumeric():
                    numbers.append(int(line))
            if numbers:
                avg = sum(numbers) / len(numbers)
                print(f"File {filename} average: {avg}")

上述代码中,使用endwith()函数筛选出txt文件,使用with open() as f语句打开文件并读取所有行,使用循环遍历每一行字符串并判断是否为数字,如果是则添加到numbers列表中。最后,对numbers中的所有数字求平均值并打印出来。

3.3 将处理结果保存到文件

如果我们需要将处理结果保存到文件中,则可以在上述代码中添加文件写入的操作:

import os

path = "C:/example"
files = os.listdir(path)

with open("result.txt", "w") as result_file:
    for filename in files:
        if filename.endswith(".txt"):
            with open(os.path.join(path, filename)) as f:
                lines = f.readlines()
                numbers = []
                for line in lines:
                    line = line.strip()
                    if line.isnumeric():
                        numbers.append(int(line))
                if numbers:
                    avg = sum(numbers) / len(numbers)
                    result_file.write(f"File {filename} average: {avg}\n")

上述代码在最开始打开一个名为result.txt的文件并以写入模式打开,然后通过循环对每个符合条件的txt文件进行处理,并将结果写入到result.txt文件中。

4. 示例说明

示例1:批量计算多个txt文件中所有数字的平均值

例如我们有以下三个txt文件:

file1.txt

1
2
3
4
5

file2.txt

10
12
14

file3.txt

2
3
5
9

我们可以使用上述代码对这三个文件中的数字求平均值,代码运行结果如下:

File file1.txt average: 3.0
File file2.txt average: 12.0
File file3.txt average: 4.75

示例2:将多个txt文件中的所有数字按照从小到大的顺序排列,并保存到新的文件中

我们可以对示例1中的代码进行修改,调用Python内置的sort()函数对每个文件中的数字按照从小到大的顺序进行排序,并将排序后的结果保存到新文件中:

import os

path = "C:/example"
files = os.listdir(path)

with open("result.txt", "w") as result_file:
    for filename in files:
        if filename.endswith(".txt"):
            with open(os.path.join(path, filename)) as f:
                lines = f.readlines()
                numbers = []
                for line in lines:
                    line = line.strip()
                    if line.isnumeric():
                        numbers.append(int(line))
                if numbers:
                    numbers.sort()
                    result_file.write(f"File {filename} sorted numbers: {numbers}\n")

上述代码在对每个文件中的数字列表进行排序之后,使用字符串format()方法将排序后的结果转换成字符串,并写入到result.txt文件中。运行代码后,我们可以得到以下结果:

File file1.txt sorted numbers: [1, 2, 3, 4, 5]
File file2.txt sorted numbers: [10, 12, 14]
File file3.txt sorted numbers: [2, 3, 5, 9]

这里的结果中,我们在score前面添加了"File filename sorted numbers: "的前缀用来标识是哪个文件的排序结果。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python批量处理txt文件的实例代码 - Python技术站

(0)
上一篇 2023年6月5日
下一篇 2023年6月5日

相关文章

  • 对python捕获ctrl+c手工中断程序的两种方法详解

    在Python中,我们可以使用两种方法来捕获Ctrl+C手工中断程序,分别是使用signal模块和使用try-except语句。下面是对这两种方法的详细讲解: 1. 使用signal模块 signal模块是Python中用于处理信号的模块,我们可以使用它来捕获Ctrl+C信号。下面是一个使用signal模块捕获Ctrl+C信号的示例: import sign…

    python 2023年5月14日
    00
  • Python字符串、整数、和浮点型数相互转换实例

    当我们在使用Python编程时,有时候需要将字符串、整数以及浮点型数相互转换。下面是针对这个问题的完整攻略。 字符串转整数/浮点型 我们可以使用Python自带的int()函数将字符串转换成整数。如果字符串中出现了除数字以外的字符,程序就会报错。例如: num_str = "123" num_int = int(num_str) prin…

    python 2023年6月5日
    00
  • python之mock模块基本使用方法详解

    Python之mock模块基本使用方法详解 1. 什么是mock模块 mock 模块是 Python 中的一个第三方库,它可以模拟测试,用于替代复杂的对象或者行为,简化了程序的单元测试,提高了测试的灵活性和便利性。 使用Mock模块的例子: from mock import Mock, MagicMock, patch # 1. 创建一个 Mock 对象并且…

    python 2023年5月13日
    00
  • python放大图片和画方格实现算法

    下面是针对“python放大图片和画方格实现算法”的攻略。 放大图片 如果要放大一张图片,可以使用pillow库的Image模块,通过resize()方法将图片放大到目标尺寸。 from PIL import Image # 打开原始图片并放大到目标尺寸 image = Image.open("原始图片路径") target_size =…

    python 2023年5月18日
    00
  • python工具之清理 Markdown 中没有引用的图片

    Python工具之清理Markdown中没有引用的图片 在Markdown文档中,我们经常会使用图片来丰富文本内容。但是,有时候我们会忘记删除不再使用的图片,导致文档中存在大量没有引用的图片,这不仅浪费存储空间,还会影响文档的可读性。本文将介绍如何使用Python工具清理Markdown中没有引用的图片。 安装依赖库 在使用Python工具之前,我们需要先安…

    python 2023年5月14日
    00
  • Python实现简单截取中文字符串的方法

    下面是“Python实现简单截取中文字符串的方法”的完整攻略。 1. 理解Python中文字符串 在Python中,用unicode字符串来表示中文字符串。Python中字符串前加u标识表示该字符串为unicode字符串,即中文字符串。如下所示 string = u’中文字符串’ 2. Python中文字符串截取方法 Python中提供了多种截取字符串的方法…

    python 2023年5月20日
    00
  • Python将二维列表list的数据输出(TXT,Excel)

    以下是详细讲解“Python将二维列表list的数据输出(TXT,Excel)”的完整攻略。 在Python中,可以使用不同的库将二维列表list的数据输出到TXT或文件中。本文将绍两种常用的库:csv和xlwt。 方法一:使用csv库输出到TXT文件 csv库是Python内置的用于处理CSV文件库,也可以用于将二维列表list的数据输出到TXT文件中。例…

    python 2023年5月13日
    00
  • Python精品书籍推荐

    目录 Python精品书籍 * 参考资料 基础 Python编程:从入门到实践(第2版) 笨办法学_Python Coding for Kids: Python: Learn to Code with 50 Awesome Games and Activities Python Tricks A Buffet of Awesome Python Featur…

    python 2023年4月18日
    00
合作推广
合作推广
分享本页
返回顶部