閱讀全文
為了實作這樣的小工具,我們先設想有下面這些功能,
1、可以自定義整理某一個路徑下面的所有需要被整理的檔案,
2、默認情況下,使用檔案后綴作為同一種類檔案的檔案夾名稱,有其他想法的小伙伴可自行擴展,
將使用到的python模塊匯入到代碼塊中,
import os # 檔案/檔案夾應用操作
import shutil # 移動檔案
import logging # 使用日志logging來列印日志
選擇好需要整理的原始檔案目錄,

下面是整理完成后的效果圖,根據檔案型別對各種檔案進行整理,

在代碼塊中加入日志列印的模塊,這里日志列印選擇的是logging模塊,
logger = logging.getLogger('自動歸納檔案') # 日志名稱
logging.basicConfig(format='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s') # 日志列印格式
logger.setLevel(logging.DEBUG) # 日志列印級別
下面是檔案整理的代碼塊的全部實作方式,主要部分都加上注釋說明,
dir = input('請輸入需要整理的檔案目錄: \n') # 需要整理的檔案路徑
if os.path.isdir(dir):
logger.info('當前目錄[' + dir + ']校驗成功!')
paths = []
for file_path, dir_names, file_names in os.walk(r'' + dir):
for file_name in file_names:
try:
file_name_path = os.path.join(file_path, file_name)
dir_ = file_name.split('.')[1]
new_file_name_path = os.path.join(dir, dir_)
# 校驗新的檔案夾是否已經存在
if os.path.isdir(new_file_name_path):
# 直接移動檔案
shutil.move(file_name_path, new_file_name_path)
else:
# 創建好檔案夾后移動檔案
os.mkdir(new_file_name_path)
shutil.move(file_name_path, new_file_name_path)
paths.append(os.path.join(new_file_name_path, file_name))
except:
logger.error('[' + file_name_path + ']移動發生例外,執行下一個!')
for path in paths:
logger.info('移動完成的檔案:' + str(path))
else:
logger.error('輸入的檔案夾或者目錄不存在!')
以上就是自動整理檔案的全部代碼塊的實作部分,使用時依次將代碼塊copy到自己的開發工具中直接啟動就可以了,

【往期精彩】
初學者福利:分享五個免費的 Python 學習網站,抓緊收藏吧!
有趣的控制臺玩法:一行代碼繪制控制臺影像!
資料處理小工具:Excel 批量資料檔案拆分/整合器...
GUI猜數字游戲,直接開玩...
辦公自動化:PDF檔案合并器,將多個PDF檔案進行合并...
手把手教你做一個資料圖表生成器(附原始碼)...
動態指標時鐘:利用pyqt5制作指標鐘表顯示實時時間
hashlib.md5()函式來篩選出系統重復檔案并移除...
哈撒給,英雄聯盟全皮膚下載器來了...
PyQt5的敏感詞檢測工具制作,運營者的福音...
手繪圖片生成器:以雪容融為例一鍵生成...
抖音同款課堂點名系統,PyQt5寫起來很簡單...
歡迎關注作者公眾號【Python 集中營】,專注于后端編程,每天更新技術干貨,不定時分享各類資料!轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/442780.html
標籤:Python
