python遍历文件夹及子文件夹下所有文件并复制到同一文件夹下

3是正式复制文件的代码,1-2只是测试路径和文件名是否正确以及写个新文件名单

1.获取路径+文件名构建新文件名

import os
import shutil

import pandas as pd

# 原文件夹的路径
source_folder = "."

# 文件要放到的根目录路径
destination_root = ".\\省"

# 遍历原文件夹及其子文件夹,将文件复制到根目录并修改文件名
for root, dirs, files in os.walk(source_folder):
    for file in files:
        file_path = os.path.join(root, file)
        file_name = os.path.splitext(file)[0]  # 获取文件名(不包括扩展名)
        file_extension = os.path.splitext(file)[1]  # 获取文件扩展名
        # 路径+原文件名构建新的文件名
        new_file_name = os.path.join(destination_root, os.path.normpath(root) + "_" + file_name) + file_extension
        # 输出新文件名
        print(new_file_name)

2.将新文件名放到excel_files中


import os
import shutil

import pandas as pd

# 目标文件夹的路径
source_folder = "."

# 根目录的路径
destination_root = ".\\省"

excel_files = []

# 遍历目标文件夹及其子文件夹,将文件复制到根目录并修改文件名
for root, dirs, files in os.walk(source_folder):
    for file in files:
        file_path = os.path.join(root, file)
        file_name = os.path.splitext(file)[0]  # 获取文件名(不包括扩展名)
        file_extension = os.path.splitext(file)[1]  # 获取文件扩展名

        # 构建新的文件名,包括路径和文件名
        new_file_name = os.path.join(destination_root, os.path.normpath(root) + "_" + file_name) + file_extension

        # 将新文件名写到excel_files里
        excel_files.append(new_file_name)

# 打印找到的 Excel 文件路径(新文件名)
for file_path in excel_files:
    print(file_path)

# 所有新文件的excel名单
data = pd.DataFrame({'File Name': excel_files})
# 保存为 Excel 文件
data.to_excel('output.xlsx', index=False)

3.将文件复制到根目录路径下,并命名新文件名

import os
import shutil

import pandas as pd

# 目标文件夹的路径
source_folder = "." #当前文件夹下

# 根目录的路径
destination_root = ".\\省"

# 遍历目标文件夹及其子文件夹,将文件复制到根目录并修改文件名
for root, dirs, files in os.walk(source_folder):
    for file in files:
        file_path = os.path.join(root, file)
        file_name = os.path.splitext(file)[0]  # 获取文件名(不包括扩展名)
        file_extension = os.path.splitext(file)[1]  # 获取文件扩展名
        # 构建新的文件名,包括路径和文件名
        new_file_name = os.path.join(destination_root, os.path.normpath(root) + "_" + file_name) + file_extension
        # 创建目标文件的父目录(如果不存在)
        os.makedirs(os.path.dirname(new_file_name), exist_ok=True)
        # 复制文件到根目录,并使用新的文件名
        shutil.copy(file_path, new_file_name)
  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值