python练习:如何实现文件归类

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

  1. 把 jpg,png,gif 文件夹中的所有文件移动到 image 文件夹中,然后删除 jpg,png,gif 文件夹
  2. 把 doc,docx,md,ppt 文件夹中的所有文件移动到 document 文件夹中,然后删除


    python练习:如何实现文件归类_第1张图片
    文件素材包.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模块里面的常用函数

你可能感兴趣的:(python练习:如何实现文件归类)