《Python编程快速上手》选择性拷贝

问题如下:

编写一个程序,遍历一个目录树,查找特的那个拓展名的文件(如,.jpg或.pdf)。不论这些文件位置在哪里,将它们拷贝到一个新的文件夹中

思路如下:

- 程序需要做以下事情:
遍历文件目录树,并返回相关文件夹及文件信息
查找特定文件名文件
将找到的特定文件拷贝到新文件夹
- 代码需要做以下事情:
导入os,shutil模块
input()输入需要查找的文件拓展名,遍历的文件夹及复制目标文件夹
os.walk(0遍历目录树
filename.endswith(’’)查找特定文件名文件
shutil模块移动,复制相应文件
拷贝完成反馈结果


代码如下:

import os, shutil

fiName = input("请输入需要遍历的文件夹地址:")
baseName = input("请输入需要查找文件的拓展名(如:.pdf,.txt,.jpg):")
toName = input("请输入需要移动到的地址:")

for folderName,_, filenames in os.walk(fiName): 
#os.walk默认返回三个参数,因为第二个参数返回子文件夹用不上,因此设置了 -参数,填充位置
    print('当前遍历文件夹:' + folderName)
    for filename in filenames:
        if filename.endswith(baseName):
            print("当前文件夹的“{0}”文件有:{1}".format(baseName,filename))
            filePath = folderName +'\\'+ filename #加上'\\'转义字符,才是正确的路径
            shutil.copy(filePath,toName)
            print("拷贝文件“{0}”到“{1}”成功!".format(baseName,toName))

运行结果如下:

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值