python使用os批量读取、删除、修改、保存文件的操作

您所在的位置:网站首页 如何批量删除副本文件内容 python使用os批量读取、删除、修改、保存文件的操作

python使用os批量读取、删除、修改、保存文件的操作

2024-07-16 14:06| 来源: 网络整理| 查看: 265

文章目录 前言读取文件删除文件修改和保存

前言

由于在日常数据处理中,我们可能需要批量对文件进行操作,接下来将详细介绍如何使用python的os对进行批量删除、修改、保存文件的操作

假设我需要对文件夹A的文件进行操作,先编点数据: 在这里插入图片描述 A文件夹中有这么些文件。 其中txt文件内容编点: 在这里插入图片描述 别的就空着了。

读取文件

读取文件,我们首先需要知道文件名是什么。 使用os.listdir可以让我们遍历文件夹下的所有文件:

import os # 设定文件夹路径 folder_path = r'C:\Users\ASUS\OneDrive\桌面\log\A' # 遍历文件夹中的所有文件 for filename in os.listdir(folder_path): print(filename) print(type(filename))

输出为: 在这里插入图片描述 可以看到输出了文件名,并且都是字符类型,那么接下来的操作不都明朗了吗,要改什么,删什么操作什么文件,直接匹配文件名即可。

例如接下来我只想读txt文件的内容:

import os # 设定文件夹路径 folder_path = r'C:\Users\ASUS\OneDrive\桌面\log\A' # 遍历文件夹中的所有文件 for filename in os.listdir(folder_path): if ".txt" in filename: path = folder_path + "//" + filename # 打开文件 with open(path, "r", encoding='utf-8') as f: # read():读取文件全部内容,以字符串形式返回结果 data = f.read() print(data)

在这里插入图片描述 可以看到,只读了txt文件。

删除文件

删除文件使用os.remove()即可 例如我想删了文件名含B的文件:

import os # 设定文件夹路径 folder_path = r'C:\Users\ASUS\OneDrive\桌面\log\A' # 遍历文件夹中的所有文件 for filename in os.listdir(folder_path): if "B" in filename: path = folder_path + "//" + filename # 删除文件 os.remove(path)

在这里插入图片描述 运行之后,发现B全没了。

修改和保存

例如将文件名含A的文件,内容修改为追加

hello icy hunter! 点个关注!

并将文件保存为csv文件。

import os import pandas as pd # 设定文件夹路径 folder_path = r'C:\Users\ASUS\OneDrive\桌面\log\A' # 遍历文件夹中的所有文件 for filename in os.listdir(folder_path): if "A" in filename: new_data = [] path = folder_path + "//" + filename # 打开文件 with open(path, "r", encoding='utf-8') as f: # read():读取文件全部内容,以字符串形式返回结果 data = f.read() new_data.append(data) new_data.append("hello icy hunter!") new_data.append("点个关注!") new_filename = filename.split(".")[0] + "_new.csv" pd.DataFrame(new_data).to_csv(folder_path + "//" + new_filename, index=0, encoding="utf-8")

在这里插入图片描述 运行代码,发现确实多了一个文件,打开看看: 在这里插入图片描述 修改并保存成功了。 再运行一次代码呢? 在这里插入图片描述



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3