python复制移动文件_python 移动文件和移动目录 统一处理 Python利用递归实现文件的复制 | 猴头客...

该代码段实现了一个递归函数,用于遍历指定的源目录,并将其内容复制到目标目录。如果源路径不存在或不是文件或目录,函数将返回。它首先检查目标路径是否存在,若不存在则创建。然后遍历源目录中的每个文件和子目录,对子目录进行递归复制,对文件则直接复制内容。
摘要由CSDN通过智能技术生成

"""

利用递归实现目录的遍历

@para sourcePath:原文件目录

@para targetPath:目标文件目录

"""

def getDirAndCopyFile(sourcePath, targetPath):

if not os.path.exists(sourcePath):

print("--------------------源文件不存在");

return

if not os.path.exists(targetPath):

os.makedirs(targetPath)

if os.path.isfile(sourcePath):

shutil.copy(sourcePath, targetPath)

return

# 遍历文件夹

for fileName in os.listdir(sourcePath):

# 拼接原文件或者文件夹的绝对路径

absourcePath = os.path.join(sourcePath, fileName)

# 拼接目标文件或者文件加的绝对路径

abstargetPath = os.path.join(targetPath, fileName)

# 判断原文件的绝对路径是目录还是文件

if os.path.isdir(absourcePath):

# 是目录就创建相应的目标目录

os.makedirs(abstargetPath)

# 递归调用getDirAndCopyFile()函数

getDirAndCopyFile(absourcePath, abstargetPath)

# 是文件就进行复制

if os.path.isfile(absourcePath):

rbf = open(absourcePath, "rb")

wbf = open(abstargetPath, "wb")

while True:

content = rbf.readline(1024 * 1024)

if len(content) == 0:

break

wbf.write(content)

wbf.flush()

rbf.close()

wbf.close()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值