python文件第五关

任务描述

本关任务:编写一个小程序,在test3文件夹下建立子文件夹,并根据文件类型将文件移动到相应的文件夹下。

相关知识

为了完成本关任务,你需要掌握:os模块和shulti模块

os模块

os模块为系统内置模块,提供了对系统环境、文件、目录等操作系统级的接口函数。 listdir() 返回指定目录下的所有文件和目录名 mkdir() 创建目录 rmdir() 删除目录 path.isfile() 检验是否是一个文件 path.splitext()  文件名和扩展名分离 os.path.exists() 文件或文件夹是否存在

shulti模块

shutil模块是对os模块的补充,主要针对文件的拷贝、删除、移动、压缩和解压操作 rmtree(sdir) 删除文件夹(包括所有子文件夹和文件) move(src, ddir) 移动文件到另一个文件夹

编程要求

根据test3文件夹下文件的类型,在test3文件夹下建立相应的子文件夹,并将文件移动到相应的文件夹下。 具体来说,扩展名为.jpeg.jpg.png.jifi的文件移动到图片子文件夹下,.mp3.wav移动到音频文件夹下,.mp4.flv移动到视频文件夹下,.txt.docx.pdf移动到文档文件夹下。 提示:可以建立字典来指定文件夹和文件的对应关系

测试说明

最后,需要在test3下建立图片、文档、音频和视频四个文件夹,并将文件按扩展名的对应关系移动到相应文件夹下 最后显示如下

 
  1. ['ifs大熊猫.jpg', '基地1.jpg', '春熙路图集1.jfif', '春熙路图集2.jpeg', '春熙路图集3.jfif', '杜甫草堂.png', '青城山.png']
  2. ['学院设置.docx', '昆明.docx', '琵琶行并序.txt', '考题一.pdf', '考题四.pdf']
  3. ['add.wav', 'score.wav', '山歌好比春江水.mp3', '花儿尕恋手令.mp3']
  4. ['pq.flv', '七彩丹霞视频.mp4', '云南十八怪_.mp4']

开始你的任务吧,祝你成功!

import os
import shutil
wj={"图片":".jpeg.jpg.png.jfif","文档":".txt.docx.pdf","音乐":".mp3.wav","影像":".mp4.flv"}
lj1="wjcl/src/test2"
lj="wjcl/src/test3"
if os.path.exists(lj):
    shutil.rmtree(lj)  
shutil.copytree(lj1,lj)
#代码开始
k=os.listdir(lj)
k.remove(".gitkeep")
for x in wj.keys():
    if not os.path.exists(lj+"/"+x):
        os.mkdir(lj+"/"+x)
for y in k:
    wjm,kzm=os.path.splitext(y)
    if kzm in wj['图片']:
        shutil.move(lj+"/"+y,lj+"/"+"图片")
    if kzm in wj['文档']:
        shutil.move(lj+"/"+y,lj+"/"+"文档")
    if kzm in wj['音乐']:
        shutil.move(lj+"/"+y,lj+"/"+"音乐")
    if kzm in wj['影像']:
        shutil.move(lj+"/"+y,lj+"/"+"影像")
    


#代码结束
for x in wj.keys():
    print(os.listdir(lj+'/'+x))

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值