最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python桌面文件清理腳本分享

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

需求

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

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

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

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

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

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

實現(xiàn)

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

兩個配置文件,一個主類。

代碼

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

比如需要忽略圖標(biāo),可以加上.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: 目標(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: 時間
    """
    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 執(zhí)行腳本即可

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

相關(guān)文章

  • Python查找算法之折半查找算法的實現(xiàn)

    Python查找算法之折半查找算法的實現(xiàn)

    這篇文章主要介紹了Python查找算法之折半查找算法的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • 命令行運行Python腳本時傳入?yún)?shù)的三種方式詳解

    命令行運行Python腳本時傳入?yún)?shù)的三種方式詳解

    這篇文章主要介紹了命令行運行Python腳本時傳入?yún)?shù)的三種方式詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-10-10
  • 解決Numpy中sum函數(shù)求和結(jié)果維度的問題

    解決Numpy中sum函數(shù)求和結(jié)果維度的問題

    今天小編大家分享一篇解決Numpy中sum函數(shù)求和結(jié)果維度的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • Python的log日志功能及設(shè)置方法

    Python的log日志功能及設(shè)置方法

    今天小編就為大家分享一篇Python的log日志功能及設(shè)置方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • python 剪切移動文件的實現(xiàn)代碼

    python 剪切移動文件的實現(xiàn)代碼

    移動復(fù)制文件通過os.rename方法,先進(jìn)行文件是否存在判斷,如需更加復(fù)雜相同文件判斷可以根據(jù)文件屬性進(jìn)行判斷,此處只使用同名檢查,并刪除已存在文件,來實現(xiàn)覆蓋。這篇文章主要介紹了python 剪切移動文件的實現(xiàn)代碼,需要的朋友可以參考下
    2018-08-08
  • Django debug為True時,css加載失敗的解決方案

    Django debug為True時,css加載失敗的解決方案

    這篇文章主要介紹了Django debug為True時,css加載失敗的解決方案,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • 使用Python Fast API發(fā)布API服務(wù)的過程詳解

    使用Python Fast API發(fā)布API服務(wù)的過程詳解

    這篇文章主要介紹了使用Python Fast API發(fā)布API服務(wù),本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-04-04
  • Pandas之MultiIndex對象的示例詳解

    Pandas之MultiIndex對象的示例詳解

    這篇文章主要介紹了Pandas之MultiIndex對象的示例詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • Python3 全自動更新已安裝的模塊實現(xiàn)

    Python3 全自動更新已安裝的模塊實現(xiàn)

    這篇文章主要介紹了Python3 全自動更新已安裝的模塊實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-01-01
  • Python程序員面試題 你必須提前準(zhǔn)備!(答案及解析)

    Python程序員面試題 你必須提前準(zhǔn)備!(答案及解析)

    這篇文章主要為大家解析了你必須提前準(zhǔn)備的Python程序員面試題答案,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01

最新評論

涟源市| 宁国市| 高邮市| 林口县| 昭苏县| 横山县| 梧州市| 沧州市| 贡觉县| 天全县| 渝北区| 突泉县| 新和县| 庆城县| 和龙市| 汉沽区| 二连浩特市| 林甸县| 湟源县| 高州市| 宣化县| 阿克陶县| 房山区| 绵竹市| 海伦市| 柞水县| 图们市| 清远市| 莫力| 界首市| 永城市| 元阳县| 伊吾县| 五台县| 策勒县| 嘉义市| 乌苏市| 庆阳市| 黄大仙区| 北辰区| 自治县|