閱讀全文
創(chuàng)新互聯(lián)建站是一家專注于網(wǎng)站制作、做網(wǎng)站與策劃設(shè)計(jì),成縣網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)建站做網(wǎng)站,專注于網(wǎng)站建設(shè)十年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:成縣等地區(qū)。成縣做網(wǎng)站價(jià)格咨詢:028-86922220
為了實(shí)現(xiàn)這樣的小工具,我們先設(shè)想有下面這些功能。
1、可以自定義整理某一個(gè)路徑下面的所有需要被整理的文件。
2、默認(rèn)情況下,使用文件后綴作為同一種類文件的文件夾名稱,有其他想法的小伙伴可自行擴(kuò)展。
將使用到的python模塊導(dǎo)入到代碼塊中。
import os # 文件/文件夾應(yīng)用操作
import shutil # 移動(dòng)文件
import logging # 使用日志logging來打印日志
選擇好需要整理的原始文件目錄。
下面是整理完成后的效果圖,根據(jù)文件類型對(duì)各種文件進(jìn)行整理。
在代碼塊中加入日志打印的模塊,這里日志打印選擇的是logging模塊。
logger = logging.getLogger('自動(dòng)歸納文件') # 日志名稱
logging.basicConfig(format='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s') # 日志打印格式
logger.setLevel(logging.DEBUG) # 日志打印級(jí)別
下面是文件整理的代碼塊的全部實(shí)現(xiàn)方式,主要部分都加上注釋說明。
dir = input('請(qǐng)輸入需要整理的文件目錄: \n') # 需要整理的文件路徑
if os.path.isdir(dir):
logger.info('當(dāng)前目錄[' + dir + ']校驗(yàn)成功!')
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_)
# 校驗(yàn)新的文件夾是否已經(jīng)存在
if os.path.isdir(new_file_name_path):
# 直接移動(dòng)文件
shutil.move(file_name_path, new_file_name_path)
else:
# 創(chuàng)建好文件夾后移動(dòng)文件
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 + ']移動(dòng)發(fā)生異常,執(zhí)行下一個(gè)!')
for path in paths:
logger.info('移動(dòng)完成的文件:' + str(path))
else:
logger.error('輸入的文件夾或者目錄不存在!')
以上就是自動(dòng)整理文件的全部代碼塊的實(shí)現(xiàn)部分,使用時(shí)依次將代碼塊copy到自己的開發(fā)工具中直接啟動(dòng)就可以了。
【往期精彩】
初學(xué)者福利:分享五個(gè)免費(fèi)的 Python 學(xué)習(xí)網(wǎng)站,抓緊收藏吧!
有趣的控制臺(tái)玩法:一行代碼繪制控制臺(tái)圖像!
數(shù)據(jù)處理小工具:Excel 批量數(shù)據(jù)文件拆分/整合器...
GUI猜數(shù)字游戲,直接開玩...
辦公自動(dòng)化:PDF文件合并器,將多個(gè)PDF文件進(jìn)行合并...
手把手教你做一個(gè)數(shù)據(jù)圖表生成器(附源碼)...
動(dòng)態(tài)指針時(shí)鐘:利用pyqt5制作指針鐘表顯示實(shí)時(shí)時(shí)間
hashlib.md5()函數(shù)來篩選出系統(tǒng)重復(fù)文件并移除...
哈撒給,英雄聯(lián)盟全皮膚下載器來了...
PyQt5的敏感詞檢測(cè)工具制作,運(yùn)營者的福音...
手繪圖片生成器:以雪容融為例一鍵生成...
抖音同款課堂點(diǎn)名系統(tǒng),PyQt5寫起來很簡(jiǎn)單...