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

python實現(xiàn)自動整理文件

 更新時間:2022年04月10日 18:06:20   作者:多好一次  
這篇文章主要介紹了python實現(xiàn)自動整理文件,主要內(nèi)容通過整理桌面雜亂無章都是文檔和資料了解用python如何批量將不同后綴的文件移動到同一文件夾,需要的朋友可以參考一下

前言:

平時工作沒有養(yǎng)成分類的習慣,整個桌面雜亂無章都是文檔和資料,幾乎快占滿整個屏幕了。所以必須要整理一下了,今天我們來看下用python如何批量將不同后綴的文件移動到同一文件夾。

演示效果:

  • 使用前

  • 使用后

代碼:

# # -*- coding:utf-8 -*-
import os
import glob
import shutil
import tkinter
import tkinter.filedialog
from datetime import datetime

def start():
? ? root = tkinter.Tk()
? ? root.withdraw()
? ? dirname = tkinter.filedialog.askdirectory(parent=root,initialdir="/",title='請選擇文件夾')
? ? return dirname


# 定義一個文件字典,不同的文件類型,屬于不同的文件夾
file_dict = {
? ? "圖片": ["jpeg", "jpg", "tiff", "gif", "bmp", "png", "bpg", "svg", "heif", "psd"],
? ? "視頻": ["avi", "flv", "wmv", "mov", "mp4", "webm", "vob", "mng", "qt", "mpg", "mpeg", "3gp", "mkv"],
? ? "音頻": ["aac", "aa", "aac", "dvf", "m4a", "m4b", "m4p", "mp3", "msv", "ogg", "oga", "raw", "vox", "wav", "wma"],
? ? "文檔": ["oxps", "epub", "pages", "docx", "doc", "fdf", "ods", "odt", "pwi", "xsn", "xps", "dotx", "docm", "dox",
"rvg", "rtf", "rtfd", "wpd", "xls", "xlsx","xlsm","ppt", "pptx", "csv", "pdf", "md","xmind"],
? ? "壓縮文件": ["a", "ar", "cpio", "iso", "tar", "gz", "rz", "7z", "dmg", "rar", "xar", "zip"],
? ? "文本": ["txt", "in", "out","json","xml","log"],
? ? "程序腳本": ["py", "html5", "html", "htm", "xhtml", "cpp", "java", "css","sql"],?
? ? '可執(zhí)行程序': ['exe', 'bat', 'lnk', 'sys', 'com','apk'],
? ? '字體文件': ['eot', 'otf', 'fon', 'font', 'ttf', 'ttc', 'woff', 'woff2','shx'],
? ? '工程圖文件':['bak','dwg','dxf','dwl','dwl2','stp','SLDPRT','ipj','ipt','idw']
}

# 定義一個函數(shù),傳入每個文件對應的后綴。判斷文件是否存在于字典file_dict中;
# 如果存在,返回對應的文件夾名;如果不存在,將該文件夾命名為"未知分類";
def JudgeFile(suffix):
? ? for name, type_list in file_dict.items():
? ? ? ? if suffix.lower() in type_list:
? ? ? ? ? ? return name
? ? return "未知分類"

if __name__ == '__main__':
? ? try:
? ? ? ? while True:
? ? ? ? ? ? path = start()
? ? ? ? ? ? print("---->路徑是: ",path)
? ? ? ? ? ? if path == "":
? ? ? ? ? ? ? ? print("沒有選擇路徑!")
? ? ? ? ? ? ? ? break
? ? ? ? ? ? # 遞歸獲取 "待處理文件路徑" 下的所有文件和文件夾。
? ? ? ? ? ? startTime = datetime.now().second
? ? ? ? ? ? for file in glob.glob(f"{path}/**/*", recursive=True):
? ? ? ? ? ? ? ? # 由于我們是對文件分類,這里需要挑選出文件來。
? ? ? ? ? ? ? ? if os.path.isfile(file):
? ? ? ? ? ? ? ? ? ? # 由于isfile()函數(shù),獲取的是每個文件的全路徑。這里再調用basename()函數(shù),直接獲取文件名;
? ? ? ? ? ? ? ? ? ? file_name = os.path.basename(file)
? ? ? ? ? ? ? ? ? ? suffix = file_name.split(".")[-1]
? ? ? ? ? ? ? ? ? ? # 判斷 "文件名" 是否在字典中。
? ? ? ? ? ? ? ? ? ? name = JudgeFile(suffix)
? ? ? ? ? ? ? ? ? ? # 根據(jù)每個文件分類,創(chuàng)建各自對應的文件夾。
? ? ? ? ? ? ? ? ? ? if not os.path.exists(f"{path}\\{name}"):
? ? ? ? ? ? ? ? ? ? ? ? os.mkdir(f"{path}\\{name}")
? ? ? ? ? ? ? ? ? ? ? ? print('path-->',name)
? ? ? ? ? ? ? ? ? ? # 將文件復制到各自對應的文件夾中。
? ? ? ? ? ? ? ? ? ? # shutil.copy(file, f"{path}\\{name}")
? ? ? ? ? ? ? ? ? ? # 將文件移動到各自對應的文件夾中。
? ? ? ? ? ? ? ? ? ? shutil.move(file, f"{path}\\{name}")
? ? ? ? ? ? endTime = datetime.now().second
? ? ? ? ? ? countTime= endTime-startTime
? ? ? ? ? ? print("---->已經(jīng)整理完成。共花費 {} s".format(countTime))
? ? ? ? ? ? a = input('---->請按回車鍵退出:')
? ? ? ? ? ? if a == '':
? ? ? ? ? ? ? ? break
? ? except BaseException:
? ? ? ? print('存在重復的文件!')

執(zhí)行起來很簡單,只要寫完程序,點擊程運行,等待彈出窗口,選擇需要整理的文件夾即可。

如果覺得以上代碼覺得復雜,可以嘗試以下更為簡單的程序。

如何實現(xiàn)文件自動分類?

同一目錄下存在很多不同類型的資源條件

  • 1 .分類
  • 2.創(chuàng)建分類目錄
  • 3.移動文件資源
import os
import shutil
import tkinter
import tkinter.filedialog
from datetime import datetime

def start():
? ? root = tkinter.Tk()
? ? root.withdraw()
? ? dirname = tkinter.filedialog.askdirectory(parent=root,initialdir="/",title='請選擇文件夾')
? ? return dirname

# 源文件存在路徑
src_dir=start()
# 分類資源存在路徑
dest_dir=src_dir
# 判斷目錄是否存在
if not os.path.exists(dest_dir):
? ? os.mkdir(dest_dir)
# 源目錄分析
files=os.listdir(src_dir)
for item in files:
? ? src_path=os.path.join(src_dir,item)
? ? # 判斷狀態(tài)
? ? if os.path.isfile(src_path):
? ? ? ? #如果是文件,進入代碼塊
? ? ? ? # 判斷文件資源的類型
? ? ? ? ndir = item.split('.')[-1]
? ? ? ? desc_path=os.path.join(dest_dir,ndir)
? ? ? ? # 創(chuàng)建分類目錄
? ? ? ? if not os.path.exists(desc_path):
? ? ? ? ? ? # 如果分類子目錄不存在,創(chuàng)建
? ? ? ? ? ? os.mkdir(desc_path)
? ? ? ? shutil.move(src_path,desc_path)

到此這篇關于python實現(xiàn)自動整理文件的文章就介紹到這了,更多相關python整理文件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 在django admin中配置搜索域是一個外鍵時的處理方法

    在django admin中配置搜索域是一個外鍵時的處理方法

    這篇文章主要介紹了在django admin中配置搜索域是一個外鍵時的處理方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05
  • flask使用session保存登錄狀態(tài)及攔截未登錄請求代碼

    flask使用session保存登錄狀態(tài)及攔截未登錄請求代碼

    這篇文章主要介紹了flask使用session保存登錄狀態(tài)及攔截未登錄請求代碼,具有一定借鑒價值,需要的朋友可以參考下
    2018-01-01
  • 對pyqt5多線程正確的開啟姿勢詳解

    對pyqt5多線程正確的開啟姿勢詳解

    今天小編就為大家分享一篇對pyqt5多線程正確的開啟姿勢詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-06-06
  • Python字符串的encode與decode研究心得亂碼問題解決方法

    Python字符串的encode與decode研究心得亂碼問題解決方法

    為什么Python使用過程中會出現(xiàn)各式各樣的亂碼問題,明明是中文字符卻顯示成“\xe4\xb8\xad\xe6\x96\x87”的形式?
    2009-03-03
  • PyQt5 QFrame控件的用法詳解

    PyQt5 QFrame控件的用法詳解

    在PyQt5中,QFrame是一個重要的基類,它提供了邊框樣式、陰影效果、形狀等屬性,可以幫助開發(fā)者實現(xiàn)豐富多彩的界面效果,本文將結合實際案例,詳細介紹QFrame在PyQt5中的用法,需要的朋友可以參考下
    2024-08-08
  • python基本語法練習實例

    python基本語法練習實例

    下面小編就為大家?guī)硪黄猵ython基本語法練習實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09
  • Python定時任務實現(xiàn)方案

    Python定時任務實現(xiàn)方案

    這篇文章主要介紹了Python定時任務實現(xiàn)的方案,定時執(zhí)行的任務,可以是一段bash命令,也可以是一個腳本文件。通常用于我們需要在特定時刻做事情,下面來看看文章詳細內(nèi)容,需要的朋友可以參考一下
    2021-11-11
  • 刪除pycharm鼠標右鍵快捷鍵打開項目的操作

    刪除pycharm鼠標右鍵快捷鍵打開項目的操作

    這篇文章主要介紹了刪除pycharm鼠標右鍵快捷鍵打開項目的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01
  • Python如何重新加載模塊

    Python如何重新加載模塊

    這篇文章主要介紹了Python如何重新加載模塊,文中講解非常細致,代碼幫助大家更好的理解和學習,感興趣的朋友可以了解下
    2020-07-07
  • Python GUI之tkinter詳解

    Python GUI之tkinter詳解

    今天帶大家學習Python GUI之tkinter的相關知識,文中對如何使用tkinter作了非常詳細的介紹及代碼示例,對正在學習python的小伙伴們有很好的幫助,需要的朋友可以參考下
    2021-10-10

最新評論

望谟县| 施秉县| 辽宁省| 崇左市| 商都县| 建平县| 林西县| 赤峰市| 永昌县| 屏山县| 衡南县| 五河县| 平泉县| 麟游县| 洞口县| 二连浩特市| 诏安县| 汤原县| 礼泉县| 龙门县| 台山市| 栾川县| 龙南县| 福海县| 柳州市| 涿州市| 灌阳县| 清水河县| 昌都县| 五大连池市| 手机| 正阳县| 呼图壁县| 忻城县| 定日县| 江阴市| 北流市| 龙南县| 治县。| 霸州市| 抚松县|