<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
舉例:Python做一個根據字尾名整理檔案的工具,先來看看效果:
自動整理前:
自動整理後:
這樣看起來就好很多了。
開始之前,你要確保Python和pip已經成功安裝在電腦上,如果沒有,可以存取這篇文章:python Windows最新版本安裝教學
我們只需要修改原始碼主程式中呼叫 auto_organize
函數的引數即可完成對對應資料夾的整理,比如我想整理 C:Users83493Downloads 資料夾:
if __name__ == "__main__": auto_organize(r"C:Users83493Downloads")
如上所示:修改程式碼第61行的資料夾地址即可。修改完成後執行該指令碼:
python auto_files.py
就能瞬間完成對指定資料夾的整理,極其方便。
這份程式碼的原理很簡單,為了整理這些檔案,我們要遍歷當前指定的資料夾:如果是資料夾則跳過,如果是檔案則檢測字尾,分類到對應的資料夾中。資料夾名字及其對應的檔案字尾如下:
DIRECTORIES = { "圖片": [".jpeg", ".jpg", ".tiff", ".gif", ".bmp", ".png", ".bpg", "svg", ".heif", ".psd"], "視訊": [".avi", ".flv", ".wmv", ".mov", ".mp4", ".webm", ".vob", ".mng", ".qt", ".mpg", ".mpeg", ".3gp", ".mkv"], "檔案": [".oxps", ".epub", ".pages", ".docx", ".doc", ".fdf", ".ods", ".odt", ".pwi", ".xsn", ".xps", ".dotx", ".docm", ".dox", ".rvg", ".rtf", ".rtfd", ".wpd", ".xls", ".xlsx", ".ppt", "pptx",".csv",".pdf"], "壓縮檔案": [".a", ".ar", ".cpio", ".iso", ".tar", ".gz", ".rz", ".7z", ".dmg", ".rar", ".xar", ".zip"], "影音": [".aac", ".aa", ".aac", ".dvf", ".m4a", ".m4b", ".m4p", ".mp3", ".msv", "ogg", "oga", ".raw", ".vox", ".wav", ".wma"], "文字": [".txt", ".in", ".out"], "程式設計": [".py",".html5", ".html", ".htm", ".xhtml",".c",".cpp",".java",".css"], "可執行程式": [".exe"], }
接下來是自動整理的部分程式碼,先遍歷指定的資料夾,識別字尾並分類到對應的資料夾中。
for entry in os.scandir(dirval): if entry.is_dir(): # 如果是資料夾則跳過 continue file_path = Path(dirval + "\" + entry.name) file_format = file_path.suffix.lower() # 避免字尾大小寫判斷問題,全轉為小寫 if file_format in FILE_FORMATS: directory_path = Path(dirval + "\" + FILE_FORMATS[file_format]) directory_path.mkdir(exist_ok=True) file_path.rename(directory_path.joinpath(entry.name))
還有出現不存在在我們字典裡的字尾的情況,把它們分類到名為 其他檔案 的資料夾中:
try: os.mkdir(dirval + "\" +"其他檔案") except: pass for dir in os.scandir(dirval): try: if dir.is_dir(): # 刪除空資料夾 os.rmdir(dir) else: temp = str(Path(dir)).split('\') # 分割檔案路徑 path = '\'.join(temp[:-1]) print(path + '\其他檔案\' + str(temp[-1])) os.rename(str(Path(dir)), path + '\其他檔案\' + str(temp[-1])) except: pass
如果你並不想按照設定好的檔案整理,希望能自定義地將某些特定字尾的檔案放到另一個資料夾,比如 .py 檔案統一收納到“Python指令碼”資料夾中,你可以這麼改 DIRECTORIES
變數:
DIRECTORIES = { # ...... "程式設計": [".py",".html5", ".html", ".htm", ".xhtml",".c",".cpp",".java",".css"], # ...... }
改動後:
DIRECTORIES = { # ...... "程式設計": [".html5", ".html", ".htm", ".xhtml",".c",".cpp",".java",".css"], "Python指令碼": [".py"], # ...... }
我們可以按照這個方法,自定義收納那些你需要整理收納的檔案格式。
如果只想對 DIRECTORIES
變數裡那些字尾的檔案進行整理,不屬於這些字尾的檔案則不進行整理,不需要放到“其他檔案”目錄下,此時要怎麼做?
很簡單,你只需要刪除以下部分程式碼就可以完成這個功能:
try: os.mkdir(dirval + "\" +"其他檔案") except: pass for dir in os.scandir(dirval): try: if dir.is_dir(): # 刪除空資料夾 os.rmdir(dir) else: temp = str(Path(dir)).split('\') # 分割檔案路徑 path = '\'.join(temp[:-1]) print(path + '\其他檔案\' + str(temp[-1])) os.rename(str(Path(dir)), path + '\其他檔案\' + str(temp[-1])) except: pass # ......
小編覺得這樣就很方便。
到此這篇關於Python實現指令碼一鍵自動整理辦公檔案的文章就介紹到這了,更多相關Python實現自動整理檔案內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45