欢迎访问宙启技术站
智能推送

使用glob()函数实现Python中的文件路径替换功能

发布时间:2023-12-28 11:14:16

glob()函数是Python中的一个文件路径匹配模块,可以根据指定的规则返回符合条件的文件路径列表。它支持通配符操作,可以在文件路径中使用*?[]等通配符,以匹配目标文件路径。

使用glob()函数可以实现文件路径的替换功能,即根据给定的规则及目标路径,将源路径中符合条件的文件路径替换成目标路径。下面是使用例子,展示如何使用glob()函数实现文件路径替换功能。

例子:将指定目录下所有的txt文件的路径替换成对应的csv文件路径

导入glob模块和os模块:

import glob
import os

定义替换函数replace_file_path,其中source_dir表示源目录,target_dir表示目标目录,source_ext表示源文件扩展名,target_ext表示目标文件扩展名:

def replace_file_path(source_dir, target_dir, source_ext, target_ext):
    # 获取源目录下所有符合条件的文件路径
    source_files = glob.glob(os.path.join(source_dir, f"*{source_ext}"))
    
    # 遍历所有源文件路径
    for source_file in source_files:
        # 获取源文件的文件名
        file_name = os.path.basename(source_file)
        
        # 将扩展名替换成目标扩展名
        target_file = file_name.replace(source_ext, target_ext)
        
        # 构造目标文件路径
        target_file_path = os.path.join(target_dir, target_file)
        
        # 输出替换前后的文件路径
        print(f"替换前路径:{source_file}")
        print(f"替换后路径:{target_file_path}")

调用替换函数replace_file_path,并传入源目录、目标目录、源文件扩展名、目标文件扩展名作为参数:

replace_file_path('source_directory', 'target_directory', '.txt', '.csv')

在上面的例子中,假设源目录是'source_directory',目标目录是'target_directory',源文件扩展名是'.txt',目标文件扩展名是'.csv'。替换函数会将源目录下所有扩展名为'.txt'的文件路径替换成对应的'.csv'文件路径,并输出替换前后的文件路径。

使用glob()函数实现文件路径替换功能可以更加灵活地对文件路径进行操作,方便处理大量的文件。同时,它支持多种通配符操作,可以根据不同的匹配规则进行文件路径的替换操作。