python练习(如何实现文件归类)

要求:文件素材压缩包 problem2_files.zip,使用 Python 进行这样的操作:

  1. 把 jpg,png,gif 文件夹中的所有文件移动到 image 文件夹中,然后删除 jpg,png,gif 文件夹
  2. 【python练习(如何实现文件归类)】把 doc,docx,md,ppt 文件夹中的所有文件移动到 document 文件夹中,然后删除

    python练习(如何实现文件归类)
    文章图片
    文件素材包.png
    思路:先理解要求。对有关文件的操作,要用到Python的内置模块os模块。
    1.如何浏览各个文件夹:用os.listdir函数和for函数配合使用。因为有七个文件夹,所以要用到for函数的嵌套
    2.如何创建目标文件夹:os.makedirs函数
    3.如何移动文件到目标文件夹:shutil模块的move函数
    4.如何删除文件夹:os.removedirs函数
    以下是自己写的代码
import os import shutil path = 'C:/Users\mandy\Desktop\problem2_files' folder1 = path + '/image' folder2 = path + '/document' os.makedirs(folder1) os.makedirs(folder2) list1 = ['jpg','png','gif'] list2 = ['doc','docx','md','ppt'] #字符串要用单引号括起来for fo1 in range(len(list1)): folderlist1 = path + '/' + list1[fo1] files1 = os.listdir(folderlist1) for f1 in files1: shutil.move(folderlist1+'/'+f1,folder1) #shutil.move里面是两个路径才运行成功 os.removedirs(folderlist1) for fo2 in range(len(list2)): folderlist2 = path + '/' + list2[fo2] files2 = os.listdir(folderlist2) for f2 in files2: shutil.move(folderlist2+'/'+f2,folder2) os.removedirs(folderlist2)

代码运行成功,符合要求
以下是参考答案、
import os import shutil # 需要把路径替换成你的文件夹所在路径,当把这个代码文件放在要处理的文件夹外一层时,可以使用下面的相对路径写法 path = './problem2_files' # 创建目标文件夹 os.makedirs(path + '/image') os.makedirs(path + '/document') # 将需要处理的后缀名存储到list中 image_suffix = ['jpg', 'png', 'gif'] doc_suffix = ['doc', 'docx', 'ppt', 'md'] # 移动jpg、png、gif文件中的文件 for i in image_suffix: cur_path = path + '/' + i files = os.listdir(cur_path) for f in files: # 移动文件夹中的文件 shutil.move(cur_path + '/' + f, path + '/image') # 删除文件夹 os.removedirs(cur_path) # 移动doc、docx、md、ppt文件夹中的文件,步骤与前面类似 for d in doc_suffix: cur_path = path + '/' + d files = os.listdir(cur_path) for f in files: shutil.move(cur_path + '/' + f, path + '/document') os.removedirs(cur_path)

总结:
1.自己写的代码思路算是正确,最后通过提示还有网上搜索出错原因总算运行成功。参考答案的代码简洁,可读性比较强,自己要多多练习积极靠拢。
2.字符串要用单引号括起来,如'jpg’,没用单引号,出错。
3.敲代码时候自己很粗心,经常敲错变量名造成出错。找不到指定文件、路径。通过不同功能代码的测试,找出错误出现在哪一步,然后网上搜索,也明白了一些错误出现的原因
4.此练习的思路和解决办法学习后,要顺便把出现的知识点也好好学习,如os、shutil模块里面的常用函数

    推荐阅读