背景

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

我的整体思路是这样的:

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

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

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

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

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

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

下面是具体实现代码:

1.列出所有文件

代码:import os

# 要处理的文件位置

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

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

files=os.listdir(process_dir)

# 打印查看效果

print(files)

效果:

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, "---是---个体文件")

效果:

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, "---是图片文件")

效果:

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打开桌面文件_python整理桌面文件相关推荐

  1. python打开文件_python如何学习

    1.Python 文件I/O 本章只讲述所有基本的 I/O 函数,更多函数请参考Python标准文档. 打印到屏幕 最简单的输出方法是用print语句,你可以给它传递零个或多个用逗号隔开的表达式.此函 ...

  2. 用python打开视频_python读取视频流提取视频帧的两种方法

    本文实例为大家分享了python读取视频流提取视频帧的具体代码,供大家参考,具体内容如下 方法一:通过imageio库和skimage库 1. 安装环境: pip install imageio pi ...

  3. python打开电脑摄像头_Python调用摄像头

    一.打开摄像头 import cv2 import numpy as np def video_demo(): capture = cv2.VideoCapture(0)#0为电脑内置摄像头 whil ...

  4. 用python打开视频_Python读取视频的两种方法(imageio和cv2)

    用python读取视频有两种主要方法,大家可依据自己的需求进行使用. 方法一: 使用imageio库,没有安装的可用pip安装或自己下载,安装好后重启终端即可调用. import pylab impo ...

  5. python打开快捷方式_Python创建启动目录的快捷方式,python,到

    # -*- coding:utf-8 -*- # author:lizonezhi import os import sys import pythoncom import win32com.clie ...

  6. python打开快捷方式_Python打开一个JAR快捷方式

    I have a JAR file saved on my desktop, is there a way that I ca get python to pen this up, as if I w ...

  7. office是python打开方式_Python读取word文本操作详解

    本文研究的主要问题时Python读取word文本操作,分享了相关概念和实现代码,具体如下. 一,docx模块 Python可以利用python-docx模块处理word文档,处理方式是面向对象的.也就 ...

  8. appium python 打开通知栏_python appium操作手机及app各种方法

    #锁定屏幕时间秒 driver.lock(5) #将APP放置后台 参数时间秒 driver.background_app(5) #收起键盘 driver.hide_keyboard() #启动Act ...

  9. python打开虚拟环境_python 启动虚拟环境

    假设你有两个Python项目-A和B,这两个项目都需要使用同一个第三方模块-tensorflow.如果这两个项目使用相同的tensorflow版本,也许不会有什么问题. 但是,当A和B项目使用不同的t ...

最新文章

  1. perl 的基本数据类型
  2. python开发教程视频教程_金牌大神讲师Alex带你学Python 153节课带你轻松学透Python开发视频教程_IT教程网...
  3. mybatis generator eclipse插件的安装
  4. java查询多条_Mybatis查询多条记录并返回List集合的方法
  5. python animation set data_imshow.set_数据()不适用于FuncAnimation
  6. Docker(二十三)-Docker使用pipework配置本地网络
  7. css3实现的一些灰色的导航条按钮
  8. 通过管理门户部署云服务与VIP交换
  9. 59. 预定义超全局变量
  10. pycharm git使用_通过Pycharm中的版本控制工具VCS使用Git
  11. win7 VS2010 Visual Assist X破解
  12. linux 有道 离线词典,180720_有道词典离线增强版添加词库(小众知识)
  13. sht30温湿度传感器中文手册_DHT11温湿度传感器编程思路以及代码的实现
  14. mac通过u盘启动linux系统,在mac下制作linux启动U盘
  15. 电容或电感的电压_电压和电流的超前与滞后,你能说清楚吗?
  16. 【DBSDFZOJ 4370】小宁的机器人(模拟)
  17. 云栖社区版权提示与说明【2018版】
  18. 最近在做文本匹配,想到了特征值的算法,自己写了一个文本计算算法。求批判。...
  19. 洛谷 P3858 路标设置
  20. halcon图像灰度操作

热门文章

  1. D.Strange_Fractions-2021ICPC上海站
  2. java 链表 置为null_Java: 链表head取出用后,置next=null为何可以加速gc?
  3. Android限制录制屏幕无声音,哪一个安卓录屏软件可以录制系统的声音
  4. 怎么剪切音频的一部分 去掉音频中的某段内容
  5. 小米手机,xxx正在删除小米账户上的联系人
  6. 基于springboot vue uniapp点餐外码系统源码(毕设)
  7. python京东自动签到_python 使用selenium登陆京东签到哪京豆
  8. Flutter系列之TextField限制数字输入
  9. 国产接口芯片兼容替换TI MM1192,用于通信设备协议
  10. 关于苹果手机打开钉钉小程序中处理的日期显示invalid date