背景

很多时候我们图方便,每次下载或者新建了内容都会放在桌面上,久而久之,可能桌面就会变成下面这副场景了,实在受不了,你可能就会开始收拾这个桌面了,有很多现成的工具可以帮助我们解决这个问题,但是作为一个爱编程的人,我们是不是也想试一试自己通过编程去解决这个问题,并且定制化程度还可以很高——想怎样整理就怎样整理。

python整理桌面文件_python

我的整体思路是这样的:

​1.列出当前文件夹下的所有文件。

2.判断是目录文件夹还是个体文件。

3.如果是目录文件夹,那么判断是空的还是非空的,空的就删除掉,非空就不处理。

4.如果是个体文件,把这些文件进行分类:图片,文档文件等。

5.创建两个文件夹分别是存放文档文件和图片文件,把对应的文件移动到对应的文件夹,这样基本上就实现一个简单的整理功能了。

这里我自己创建了一个比较乱的test文件夹作为我们测试的内容。

python整理桌面文件_python_02

下面是具体实现代码:

1.列出所有文件

代码:

import os



# 要处理的文件位置

process_dir = r'C:\Users\codemao\Desktop\python课程\文件和目录操作\test'

# 创建一个文件变量files存储所有文件名

files=os.listdir(process_dir)

# 打印查看效果

print(files)

效果:

python整理桌面文件_desktop_03

2.判断是目录文件夹还是个体文件。

代码:

import os



# 要处理的文件位置

process_dir = r'C:\Users\codemao\Desktop\python课程\文件和目录操作\test'

# 创建一个文件变量files存储所有文件名

files=os.listdir(process_dir)

for file in files:

# 如果是目录文件夹

if os.path.isdir(os.path.join(process_dir,file)):

# 如果是空文件夹

if not os.listdir(os.path.join(process_dir,file)):

print(file, "----是---空文件夹")

#不是空文件夹

else:

print(file, "----不是---空文件夹")

else:

print(file, "---是---个体文件")

效果:

python整理桌面文件_desktop_04

3.空的就删除掉,非空就不处理

代码:

import os



# 要处理的文件位置

process_dir = r'C:\Users\codemao\Desktop\python课程\文件和目录操作\test'

# 创建一个文件变量files存储所有文件名

files=os.listdir(process_dir)

for file in files:

# 如果是文件夹

if os.path.isdir(os.path.join(process_dir,file)):

# 如果是空文件夹删除

if not os.listdir(os.path.join(process_dir,file)):

os.rmdir(os.path.join(process_dir,file))

print(file, "空文件夹已删除")

else:

print(file, "---是---个体文件")

4.文件分类

如果是个体文件,把这些文件进行分类:图片,文档文件等​代码:

import os



# 要处理的文件位置

process_dir = r'C:\Users\codemao\Desktop\python课程\文件和目录操作\test'

# 创建一个文件变量files存储所有文件名

files=os.listdir(process_dir)



# 文件后缀列表

doc_file_ext=[".pdf",".txt",".py",".md",".zip",".rar",".xls",".doc"]

image_file_ext=[".png",".jpg",".gif"]



for file in files:

# 如果是文件夹

if os.path.isdir(os.path.join(process_dir,file)):

# 如果是空文件夹删除

if not os.listdir(os.path.join(process_dir,file)):

# os.rmdir(os.path.join(process_dir,file))

print(file, "空文件夹已删除")

else:

filename,ext=os.path.splitext(file)

if ext in doc_file_ext:

print(file, "---是文档文件")

elif ext in image_file_ext:

print(file, "---是图片文件")

效果:

python整理桌面文件_desktop_05

5.创建文件移动图片

创建两个文件夹分别是存放文档文件和图片文件,把对应的文件移动到对应的文件夹,这样基本上就实现一个简单的整理功能了。

完整代码:

import os

import shutil



# 要处理的文件位置

process_dir = r'C:\Users\codemao\Desktop\python课程\文件和目录操作\test'



# 列出文件

files=os.listdir(process_dir)



#存放文件的位置

image_file=os.path.join(process_dir,"images")

doc_file=os.path.join(process_dir,"docs")



# 如果不存在就创建

if not os.path.exists(image_file):

os.mkdir(image_file)

if not os.path.exists(doc_file):

os.mkdir(doc_file)



# 文件后缀列表

doc_file_ext=[".pdf",".txt",".py",".md",".zip",".rar",".xls",".doc"]

image_file_ext=[".png",".jpg",".gif"]



for file in files:

# 如果是文件夹

if os.path.isdir(os.path.join(process_dir,file)):

# 如果是空文件夹删除

if not os.listdir(os.path.join(process_dir,file)):

os.rmdir(os.path.join(process_dir,file))

print(file, "空文件夹已删除")

else:

# 获取文件前缀 后缀

filename,ext=os.path.splitext(file)

if ext in doc_file_ext:

# 移动文件到对应的文件夹

shutil.move(os.path.join(process_dir,file),doc_file)

elif ext in image_file_ext:

# 移动文件到对应的文件夹

shutil.move(os.path.join(process_dir,file),image_file)

最终效果:python整理桌面文件_目录操作_06完整代码图片:python整理桌面文件_目录操作_07

(全文完)



欢迎转载,转载请注明出处!

欢迎关注公众微信号:叶子陪你玩 分享自己的python学习之路





长按二维码,

加关注!

叶子陪你玩

python整理桌面文件_目录操作_08