亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Python桌面文件清理腳本分享

 更新時(shí)間:2022年11月17日 11:30:53   作者:小樓夜聽(tīng)雨QAQ  
這篇文章主要介紹了Python桌面文件清理腳本,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

需求

桌面臨時(shí)文件較多時(shí),直接刪了不太放心,不刪又顯得很雜亂,故需要寫(xiě)一個(gè)腳本批量清理并備份這些雞肋的文件。

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

1. 可以將桌面文件移動(dòng)至指定文件夾(可配置)。

2. 可以設(shè)置例外文件,比如桌面圖標(biāo)不需要移動(dòng),部分常用的文件也不需要移動(dòng)。

3. 出現(xiàn)同名文件時(shí),不能直接覆蓋,需要加一個(gè)日期后綴予以區(qū)分。例如更名為 helloworld-2022-08-30.txt

本來(lái)準(zhǔn)備按照文件后綴名分文件夾存放的,但畢竟是臨時(shí)文件,大概率還是需要定期刪除的,分類后反而不利于檢索。

實(shí)現(xiàn)

目錄結(jié)構(gòu)

兩個(gè)配置文件,一個(gè)主類。

代碼

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

比如需要忽略圖標(biāo),可以加上.lnk;需要配置忽略文件夾temp,則在尾行加上temp即可;

location.ini配置需要備份至哪個(gè)目錄

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: 桌面絕對(duì)路徑
    """
    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: 目標(biāo)位置的路徑
    """
    return get_config('location.ini')[0]
 
 
def get_source_dirs():
    """
    獲取需要轉(zhuǎn)移的文件
    :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():
    """
    獲取當(dāng)前年月日
    :return: 時(shí)間
    """
    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():
    """
    移動(dòng)文件
    """
    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):
            # 如果有同名文件,則加一個(gè)日期后綴
            target_path = get_rename(target_path)
        shutil.move(path, target_path)
 
 
if __name__ == '__main__':
    move()

直接  python main.py 執(zhí)行腳本即可

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 關(guān)于命令行執(zhí)行Python腳本的傳參方式

    關(guān)于命令行執(zhí)行Python腳本的傳參方式

    這篇文章主要介紹了關(guān)于命令行執(zhí)行Python腳本的傳參方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • python批量提交沙箱問(wèn)題實(shí)例

    python批量提交沙箱問(wèn)題實(shí)例

    這篇文章主要介紹了python批量提交沙箱問(wèn)題實(shí)例,針對(duì)批量提交沙箱出現(xiàn)的問(wèn)題進(jìn)行了針對(duì)性的分析與實(shí)例講解,具有不錯(cuò)的參考借鑒價(jià)值,需要的朋友可以參考下
    2014-10-10
  • pytorch?dataset實(shí)戰(zhàn)案例之讀取數(shù)據(jù)集的代碼

    pytorch?dataset實(shí)戰(zhàn)案例之讀取數(shù)據(jù)集的代碼

    這篇文章主要介紹了pytorch?dataset實(shí)戰(zhàn)案例讀取數(shù)據(jù)集的相關(guān)知識(shí),這段代碼可以作為讀取數(shù)據(jù)集的一個(gè)DataSet類的基礎(chǔ)類,可以擴(kuò)充進(jìn)行修改,以后有類似需要可以拿過(guò)來(lái)修改,本文結(jié)合實(shí)例代碼給大家詳細(xì)講解,需要的朋友可以參考下
    2022-10-10
  • Python排序算法之選擇排序定義與用法示例

    Python排序算法之選擇排序定義與用法示例

    這篇文章主要介紹了Python排序算法之選擇排序定義與用法,簡(jiǎn)單描述了選擇排序的功能、原理,并結(jié)合實(shí)例形式分析了Python定義與使用選擇排序的相關(guān)操作技巧,需要的朋友可以參考下
    2018-04-04
  • pytorch::Dataloader中的迭代器和生成器應(yīng)用詳解

    pytorch::Dataloader中的迭代器和生成器應(yīng)用詳解

    這篇文章主要介紹了pytorch::Dataloader中的迭代器和生成器應(yīng)用詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-01-01
  • Python將圖片轉(zhuǎn)換為字符畫(huà)的方法

    Python將圖片轉(zhuǎn)換為字符畫(huà)的方法

    這篇文章主要為大家詳細(xì)介紹了Python將圖片轉(zhuǎn)換為字符畫(huà)的方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • Python 自動(dòng)備份腳本的示例代碼

    Python 自動(dòng)備份腳本的示例代碼

    這篇文章主要介紹了Python 自動(dòng)備份腳本,本文結(jié)合代碼給大家講解的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-12-12
  • OpenCV實(shí)現(xiàn)單目攝像頭對(duì)圖像目標(biāo)測(cè)距

    OpenCV實(shí)現(xiàn)單目攝像頭對(duì)圖像目標(biāo)測(cè)距

    這篇文章主要為大家詳細(xì)介紹了OpenCV實(shí)現(xiàn)單目攝像頭對(duì)圖像目標(biāo)測(cè)距,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • 對(duì)Python通過(guò)pypyodbc訪問(wèn)Access數(shù)據(jù)庫(kù)的方法詳解

    對(duì)Python通過(guò)pypyodbc訪問(wèn)Access數(shù)據(jù)庫(kù)的方法詳解

    今天小編就為大家分享一篇對(duì)Python通過(guò)pypyodbc訪問(wèn)Access數(shù)據(jù)庫(kù)的方法詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-10-10
  • Python使用OpenCV實(shí)現(xiàn)虛擬縮放效果

    Python使用OpenCV實(shí)現(xiàn)虛擬縮放效果

    OpenCV?徹底改變了整個(gè)圖像處理領(lǐng)域。從圖像分類到對(duì)象檢測(cè),我們不僅可以使用?OpenCV?庫(kù)做一些很酷的事情,而且還可以構(gòu)建一流的應(yīng)用程序。本文將用OpenCV實(shí)現(xiàn)虛擬縮放,需要的可以參考一下
    2022-02-02

最新評(píng)論