python之文件下文件的拷贝

文件夹下文件的拷贝

此次文件的拷贝主要利用python内置库shutil,shutil模块提供了许多关于文件和文件集合的高级操作,特别提供了支持文件复制和删除的功能。

利用copyfile()方法,进行递归运算即可实现,保证源文件夹什么样,复制出来的就什么样。

具体代码如下:

import os
import shutil


def get_file_list(file_path):
	# 获取源文件夹下的内容
    file_names_list = os.listdir(file_path)
    checked_file_list = []
    for temp_file in file_names_list:
        checked_file_list.append(temp_file)
    return checked_file_list


def copy_file(copy_file_path, file_path, file_list):
	# 判断想要复制的路径是否存在,如果不存在就创建
    if not os.path.exists(copy_file_path):
        os.makedirs(copy_file_path)
    for i in range(len(file_list)):
    # 拼接文件夹和文件的路径
        old = os.path.join(file_path, file_list[i])
        new = os.path.join(copy_file_path, file_list[i])
        chose(old, new)


def chose(old, new):
	# 判断是不是文件,如果是文件直接copy
    if os.path.isfile(old):
        shutil.copyfile(old, new)
    # 如果是文件夹,调用方法获取文件夹下内容
    if os.path.isdir(old):
        sub_file_list = get_file_list(old)
        # 进行递归,重复操作
        copy_file(new, old, sub_file_list)


if __name__ == "__main__":
	# 源路径
    file_path = '/script/sonar_conf'
    # 拷贝路径
    copy_file_path = 'c:\\code\\phase2\\script\\copy_sonar_conf'
    file_list = get_file_list(file_path)
    # 拷贝方法
    copy_file(copy_file_path, file_path, file_list)

shutil库中还有很多其他的方法,可以看一看。
当然,方法不止一种,写的也不算好。继续努力。希望能帮到有需要的人。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值