Python循环处理路径中的txt文件

在Python中,可以使用os模块和glob模块来循环处理路径中的txt文件。os模块提供了许多与操作系统交互的函数,而glob模块用于匹配路径名中的模式。

导入模块

首先,我们需要导入os模块和glob模块:

import os
import glob

获取文件路径

假设我们需要处理的txt文件都存储在一个文件夹中,我们需要获取这个文件夹的路径。可以使用os模块的path函数来获取当前文件的路径,并使用os.path.join函数来拼接文件夹路径和文件名。

folder_path = os.path.dirname(os.path.abspath(__file__))
txt_folder_path = os.path.join(folder_path, 'txt_files')

这里使用__file__来获取当前文件的路径,os.path.abspath函数将相对路径转换为绝对路径。然后使用os.path.join函数将文件夹路径和文件名拼接在一起。

获取txt文件列表

使用glob模块的glob函数来匹配路径名中的模式,并获取符合条件的文件列表。

txt_file_list = glob.glob(os.path.join(txt_folder_path, '*.txt'))

这里使用os.path.join函数将txt文件夹路径和文件扩展名*.txt拼接在一起,然后使用glob模块的glob函数来获取所有符合条件的文件列表。

循环处理txt文件

现在我们有了txt文件的列表,可以使用循环来逐个处理这些文件。我们可以使用for循环来遍历txt_file_list列表,并使用open函数来打开每个文件。

for txt_file in txt_file_list:
    with open(txt_file, 'r') as f:
        # 处理文件的代码

这里使用with open语句来打开每个文件,并将文件对象赋值给变量f'r'表示以只读模式打开文件,这样我们可以读取文件的内容。

处理文件内容

在循环中,我们可以使用f.readlines()函数来读取文件的每一行内容,并进行处理。假设我们想要将每个文件的内容打印出来,可以使用print语句来实现。

for txt_file in txt_file_list:
    with open(txt_file, 'r') as f:
        lines = f.readlines()
        for line in lines:
            print(line)

这里使用f.readlines()函数将文件的每一行读取到一个列表中,然后使用for循环遍历该列表,并打印每一行的内容。

完整代码

下面是完整的代码示例:

import os
import glob

folder_path = os.path.dirname(os.path.abspath(__file__))
txt_folder_path = os.path.join(folder_path, 'txt_files')

txt_file_list = glob.glob(os.path.join(txt_folder_path, '*.txt'))

for txt_file in txt_file_list:
    with open(txt_file, 'r') as f:
        lines = f.readlines()
        for line in lines:
            print(line)

以上就是使用Python循环处理路径中的txt文件的方法。我们首先获取文件夹路径,然后使用glob模块找到所有txt文件,并使用循环逐个处理这些文件的内容。你可以根据具体需求,修改代码来实现你想要的功能。

journey
    title 循环处理路径中的txt文件
    section 获取文件路径
    section 获取txt文件列表
    section 循环处理txt文件
    section 处理文件内容
gantt
    dateFormat  YYYY-MM-DD
    title  循环处理路径中的txt文件甘特图
    section 获取文件路径
    获取文件路径            :active, 2022-01-01, 2022-01-02
    section 获取txt文件列表
    获取txt文件列表         :active, 2022-01-03, 2022-01-04
    section 循环处理txt文件
    循环处理txt文件         :active, 2022-01-05, 2022-01-07
    section 处理文件内容
    处理文件内容            :active, 2022-01-08, 2022-01-10
``