Python桌面文件清理脚本分享

目录
  • 需求
    • 所以脚本需要具有以下功能
  • 实现
    • 目录结构
    • 代码

需求

桌面临时文件较多时,直接删了不太放心,不删又显得很杂乱,故需要写一个脚本批量清理并备份这些鸡肋的文件。

所以脚本需要具有以下功能

1. 可以将桌面文件移动至指定文件夹(可配置)。

2. 可以设置例外文件,比如桌面图标不需要移动,部分常用的文件也不需要移动。

3. 出现同名文件时,不能直接覆盖,需要加一个日期后缀予以区分。例如更名为 helloworld-2022-08-30.txt

本来准备按照文件后缀名分文件夹存放的,但毕竟是临时文件,大概率还是需要定期删除的,分类后反而不利于检索。

实现

目录结构

两个配置文件,一个主类。

代码

ignore.ini配置需要忽略的文件名或者后缀名。

比如需要忽略图标,可以加上.lnk;需要配置忽略文件夹temp,则在尾行加上temp即可;

location.ini配置需要备份至哪个目录

main.py主类

import os
import datetime
import shutil

def get_config(file_name):
    """
    读取配置文件
    :param file_name: 文件名
    :return: 按行读取
    """
    f = open(file_name)
    lines = []
    for line in f.readlines():
        line = line.strip('\n')
        lines.append(line)
    return lines

def get_desktop():
    """
    获取桌面路径
    :return: 桌面绝对路径
    """
    return os.path.join(os.path.expanduser("~"), 'Desktop')

def get_suffix(dir_path):
    """
    获取文件的后缀名
    :param dir_path: 文件名
    :return: 后缀名
    """
    return os.path.splitext(dir_path)[-1]

def get_exclude_suffix():
    """
    获取不参与整理的文件后缀名
    """
    dirs = {}
    lines = get_config('ignore.ini')
    for line in lines:
        dirs.setdefault(line, 0)
    return dirs

def get_target_path():
    """
    备份至指定文件夹
    :return: 目标位置的路径
    """
    return get_config('location.ini')[0]

def get_source_dirs():
    """
    获取需要转移的文件
    :return: 文件目录
    """
    dirs = os.listdir(get_desktop())
    suffixes = get_exclude_suffix()
    fit_dirs = []
    for dir in dirs:
        suffix = get_suffix(dir)
        if suffix not in suffixes and dir not in suffixes:
            fit_dirs.append(dir)
    return fit_dirs

def get_time():
    """
    获取当前年月日
    :return: 时间
    """
    return datetime.datetime.now().strftime('-%Y-%m-%d')

def get_rename(path):
    """
    文件重命名
    :param path: 路径
    :return: 命名后的路径
    """
    if os.path.isdir(path):
        return path + get_time()
    else:
        return os.path.splitext(path)[0] + get_time() + get_suffix(path)

def move():
    """
    移动文件
    """
    dirs = get_source_dirs()
    target_base_path = get_target_path()
    desk_url = get_desktop()
    if not os.path.exists(target_base_path):
        os.makedirs(target_base_path)

    for dir in dirs:
        path = os.path.join(desk_url, dir)
        target_path = os.path.join(target_base_path, dir)
        if os.path.exists(target_path):
            # 如果有同名文件,则加一个日期后缀
            target_path = get_rename(target_path)
        shutil.move(path, target_path)

if __name__ == '__main__':
    move()

直接  python main.py 执行脚本即可

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 13个简便高效的Python脚本分享

    目录 1.使用 Python 进行速度测试 2.在谷歌上搜索 3.制作网络机器人 4.获取歌曲歌词 5.获取照片的Exif数据 6.提取图像中的 OCR 文本 7.将照片转换为Cartonize 8.清空回收站 9.Python 图像增强 10.获取 Window 版本 11.将 PDF 转换为图像 12.转换十六进制到 RGB 13.网站状态 每天我们都会面临许多需要高级编码的编程挑战.你不能用简单的 Python 基本语法来解决这些问题.在本文中,我将分享 13 个高级 Python 脚本,

  • 四个Python操作Excel的常用脚本分享

    目录 一.安装openpyxl模块 二.加载库 三.创建文件和工作表 四.在工作表指定单元格写数据 五.设置单元格的颜色字体 六.在excel中写入表格 一.安装openpyxl模块 Python操作excel主要用到了openpyxl模块,按win+R打开cmd,在里面输入 pip3 install openpyxl 即可成功安装openpyxl模块. 二.加载库 接着加载库,并设置数据存放的文件夹. import os import random import openpyxl import

  • 利用Python脚本实现传递参数的三种方式分享

    目录 一.使用sys.argv的数组传入 二.使用argparse包传入 三.使用shell脚本的方式向python脚本传递参数 背景:使用python脚本传递参数在实际工作过程中还是比较常用,以下提供了好几种的实现方式: 一.使用sys.argv的数组传入 说明:使用sys.argv必须按照先后的顺序传入对应的参数:sys.argv则封装了传入的参数数据,作为数组的方式已经传入 import sys print("传入参数的总长度为:", len(sys.argv)) print(&

  • 分享十个Python提高工作效率的自动化脚本

    目录 01.解析和提取 HTML 02.二维码扫描仪 03.截图 04.创建有声读物 05.PDF 编辑器 06.迷你 Stackoverflow 07.自动化手机 08.监控 CPU/GPU 温度 09.Instagram 上传机器人 10.视频水印 在这个自动化时代,我们有很多重复无聊的工作要做. 想想这些你不再需要一次又一次地做的无聊的事情,让它自动化,让你的生活更轻松. 那么在本文中,我将向您介绍 10 个 Python 自动化脚本,以使你的工作更加自动化,生活更加轻松. 因此,没有更多

  • python中的脚本性能分析

    目录 python脚本性能分析 python性能分析技巧 1.分析一行代码 2.分析多行代码 3.代码块中的每一行代码进行时间分析 python脚本性能分析 首先使用cd进入需要测试的脚本文件对应的目录,然后再使用如下代码完成对脚本的性能测试. # enter the directory of document cd (file directory) # use pdb library for debuging python -m cProfile test.py 我们可以看到我们获取到了每一步

  • Python 自动备份脚本的示例代码

    目录 一.前言 二.代码 一.前言 之前因为疫情常常不知道会不会被封在家里,又不想把电脑带过来带过去,就做了这个自动备份的脚本. 功能如下: 自动从指定根目录里将找到的所有指定后缀名的文件备份到一个备份文件夹里: 将备份文件夹中的文件自动和阿里云盘同步: 原文件目录结构不会改变: 可以屏蔽根目录下一级中不想要的文件夹/文件,下多级的不行: 定时运行: 二.代码 创建了一个AutoTransfer类,这个类在初始化的时候会自动读取配置文件里的参数,如果没有配置文件也可以后续调用函数时来传参. 调用

  • 23个很棒的Python脚本集合分享(迷你项目)

    目录 1.将 JSON 转换为 CSV 2.密码生成器 3.从多个文件中搜索字符串 4.从给定网页获取所有链接 5.图像水印 6.从网页抓取并下载所有图片 7.低电量通知 8.计算您的年龄 9.组织不同类别的下载文件夹 10.从CSV文件批量发送电子邮件 11.获取网站的IP地址和主机名 12.终端进度条 13.无线密码弹出器 14.给定网站的快照 15.将文件拆分为块 16.加密和解密文本 17.定期捕获屏幕截图 18.十进制到二进制转换器 19.CLI 待办事项应用程序 20.货币转换器 2

  • 五个简单有效的Python清理数据脚本分享

    目录 将 PDF 转换为 CSV 合并 CSV 文件 从 CSV 文件中删除重复的行 拆分 CSV 列 合并不同的数据集 最后 将 PDF 转换为 CSV 在机器学习中,我们应该少一些“数据清理”,多一些“数据准备”.当我们需要从白皮书.电子书或其他PDF文档中抓取数据时,这个脚本为我节省了很多时间. import tabula #获取文件 pdf_filename = input ("Enter the full path and filename: ") # 提取PDF的内容 fr

  • 4个的Python自动化脚本分享

    目录 1.将 PDF 转换为音频文件 2.从列表中播放随机音乐 3.不再有书签了 4.清理下载文件夹 前言: 大家平时有没有注意到你每天可能会执行许多的重复的任务,例如阅读 pdf.播放音乐.打开书签.清理文件夹等等. 我将分享4个实用的python的自动化脚本,无需手动一次又一次地完成这些任务,非常方便. 1.将 PDF 转换为音频文件 脚本可以将 pdf 转换为音频文件,原理也很简单,首先用 PyPDF 提取 pdf 中的文本,然后用 Pyttsx3 将文本转语音.关于文本转语音,你还可以看

  • linux系统使用python获取cpu信息脚本分享

    linux系统使用python获取cpu信息脚本分享 复制代码 代码如下: #!/usr/bin/env Pythonfrom __future__ import print_functionfrom collections import OrderedDictimport pprint def CPUinfo():    ''' Return the information in /proc/CPUinfo    as a dictionary in the following format:

  • 分享一个简单的python读写文件脚本

    先来看一段创建文件并写入文本的代码,然后作介绍. #!/usr/bin/env python 'makeFile.py -- create a file' import os ls = os.linesep # get filename while True: fname = raw_input('Input an unused file name >') if os.path.exists(fname): print "ERROR: '%s' already exists" %

  • 实用自动化运维Python脚本分享

    并行发送sh命令 pbsh.py #!/usr/bin/python # -*- coding: UTF-8 -*- import paramiko import sys import threading #Copy local file to remote server. def sshclient_scp(hostname, port, username, password, local_path, remote_path): t = paramiko.Transport((hostname

  • 用Python自动清理电脑内重复文件,只要10行代码(自动脚本)

    给定一个文件夹,使用Python检查给定文件夹下有无文件重复,若存在重复则删除 主要涉及的知识点有: os模块综合应用 glob模块综合应用 利用filecmp模块比较两个文件 步骤分析 该程序实现的逻辑可以具化为: 遍历获取给定文件夹下的所有文件,然后通过嵌套循环两两比较文件是否相同,如果相同则删除后者. 实现问题的关键就变成了 如何判断两个文件是否相同? 在这里我们可以使用filecmp模块,来看看官方的介绍文档: filecmp.cmp(f1, f2, shallow=True) 比较名为

  • Python实现自动玩连连看的脚本分享

    目录 序言 实现步骤 全部代码 序言 最近女朋友在玩连连看,玩了一个星期了还没通关,真的是菜. 我实在是看不过去了,直接用python写了个脚本代码,一分钟一把游戏. 快是快,就是联网玩容易被骂,嘿嘿~ 实现步骤 模块导入 import cv2 import numpy as np import win32api import win32gui import win32con from PIL import ImageGrab import time import random 窗体标题 用于定

  • 十个简单使用的Python自动化脚本分享

    目录 1.给照片添加水印 2.检测文本文件的相似性 3.对文件内容进行加 密 4.将照片转换为PDF 5.修改照片的长与宽 6.对于照片的其他操作 7.测试网速 8.货币汇率的转换 9.生成二维码 10.制作一个简单的网页应用 在日常的工作学习当中,我们总会遇到各式各样的问题,其中不少的问题都是一遍又一遍简单重复的操作,不妨直接用Python脚本来自动化处理,今天小编就给大家分享十个Python高级脚本,帮助我们减少无谓的时间浪费,提高工作学习中的效率. 1.给照片添加水印 给照片添加水印的代码

  • 利用Python编写的实用运维脚本分享

    目录 1. 执行外部程序或命令 2. 文件和目录操作(命名.删除.拷贝.移动等) 3. 创建和解包归档文件 参考 Python在很大程度上可以对shell脚本进行替代.笔者一般单行命令用shell,复杂点的多行操作就直接用Python了.这篇文章就归纳一下Python的一些实用脚本操作. 1. 执行外部程序或命令 我们有以下C语言程序cal.c(已编译为.out文件),该程序负责输入两个命令行参数并打印它们的和.该程序需要用Python去调用C语言程序并检查程序是否正常返回(正常返回会返回 0)

  • Python实现校园网自动登录的脚本分享

    目录 背景 思路 技术点 碎碎念 代码 背景 我在的学校校园网登录是web式的,即随便打开一个网页就会自动跳转到登录页面,然后输入用户名密码,点登录,便可以上网了. 但这种登录方式有个缺点:登录状态不会一直保持下去.即过一段时间就会掉线,然后你需要重新登陆才行.这个时间大概是一天. 这就蛋疼了,想让实验室的电脑随时保持联网状态怎么办呢?(有时候我需要远程我的电脑) 这个时候可以用python脚本解决这个问题! 思路 写一个死循环一直 ping 8.8.8.8,如果 ping 通说明正连着网,进入

随机推荐