RRP拷贝目录内的所有文件及子目录到指定目录

艺赛旗 RPA10.0全新首发免费下载 点击下载
http://www.i-search.com.cn/index.html?from=line1

拷贝目录内的所有文件及子目录到指定目录
今天,跟大家分享一下,Python 的文件复制操作,通过 shutil 模块来实现, 具体实现在代码中已经注释好,大家有需要的可以直接将代码 copy 走,修改文件路径,放入全局函数中就可以用了

代码如下:
#coding:utf-8
import os
import shutil

文件目录位置,使用前需要修改为自己的路径

A = “Local_Script”

B = “Local_back”

A = r"…\ExcelCopy"
B = r"…\ExcelCopy1"

#通过校验MD5 判断B内的文件与A 不同
def get_MD5(file_path):
files_md5 = os.popen(‘md5 %s’ % file_path).read().strip()
file_md5 = files_md5.replace('MD5 (%s) = ’ % file_path, ‘’)
return file_md5

def main(path, out):
‘’’
:param path: 文件输出源路径
:param out: 文件复制目标路径
:return:
‘’’
# 判断目标文件夹是否存在,如不存在,则创建。
if not os.path.isdir(out):
os.makedirs(out)
# os.listdir(path) 获取源目录下的文件列表
for files in os.listdir(path):
name = os.path.join(path, files)
print(‘name’, name)
back_name = os.path.join(out, files)
print(‘back_name’, back_name)
# 如果源文件是文件
if os.path.isfile(name):
print(‘源文件是否存在’,os.path.isfile(name))
# 如果目标文件夹中文件存在
if os.path.isfile(back_name):
print(‘目标文件夹中文件存在’, os.path.isfile(back_name))
# 通过 MD5值来判断文件是否一致:一致,不做操作;不一致,覆盖。
if get_MD5(name) != get_MD5(back_name):
print(‘MD5值’, get_MD5(name))
shutil.copy(name,back_name)
# 如果目标文件夹中文件不存在,复制
else:
print(‘目标文件夹中文件不存在’,back_name)
shutil.copy(name, back_name)
# 如果源文件是一个目录
else:
# 如果目标目录不存在
if not os.path.isdir(back_name):
# 创建目标文件目录
os.makedirs(back_name)
# 递归执行
main(name, back_name)

if name == ‘main’:
main(A, B)

#拷贝目录A 的内容到目录B
ps: 设计器的拷贝文件为拷贝单个文件,不适用于批量拷贝。这里的代码适用于批量操作!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值