<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          一鍵自動整理文件!簡單好用的Python腳本

          共 7541字,需瀏覽 16分鐘

           ·

          2021-07-20 08:57

          我以前經(jīng)常把下載的東西放在桌面或者“下載”文件夾中,使用后再也沒管它,久而久之文件夾就變得亂七八糟,再整理的時(shí)候非常痛苦,巴不得有一個自動化的工具幫我歸類文檔。

          不知道你是不是有過跟我一樣糟糕的體驗(yàn),不過,前段時(shí)間我用Python做了一個根據(jù)后綴名整理文件的工具,先來看看效果:

          自動整理前:

          自動整理后:

          效果非常好,舒服多了,如果你想要直接下載源代碼試試看,請?jiān)诠娞柡笈_回復(fù) 整理 獲得源代碼下載地址。

          1.準(zhǔn)備



          開始之前,你要確保Python和pip已經(jīng)成功安裝在電腦上,如果沒有,可以訪問這篇文章:超詳細(xì)Python安裝指南 進(jìn)行安裝。

          你只需要修改源代碼主程序中調(diào)用 auto_organize函數(shù)的參數(shù)即可完成對對應(yīng)文件夾的整理,比如我想整理  C:\Users\83493\Downloads 文件夾:

          if __name__ == "__main__":
              auto_organize(r"C:\Users\83493\Downloads")


          如上所示,修改代碼第61行的文件夾地址即可。修改完成后運(yùn)行該腳本:


          python auto_files.py


          就能瞬間完成對指定文件夾的整理,極其方便。



          2.原理



          這份代碼的原理很簡單,為了整理這些文件,我們要遍歷當(dāng)前指定的文件夾:如果是文件夾則跳過,如果是文件則檢測后綴,分類到對應(yīng)的文件夾中。文件夾名字及其對應(yīng)的文件后綴如下:


          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"],
              "可執(zhí)行程序": [".exe"],
          }


          接下來是自動整理的部分代碼,先遍歷指定的文件夾,識別后綴并分類到對應(yīng)的文件夾中。


          for entry in os.scandir(dirval):
              if entry.is_dir():
                  # 如果是文件夾則跳過
                  continue
              file_path = Path(dirval + "\\" + entry.name)
              file_format = file_path.suffix.lower()
              # 避免后綴大小寫判斷問題,全轉(zhuǎn)為小寫
              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))


          還有出現(xiàn)不存在在我們字典里的后綴的情況,把它們分類到名為 其他文件 的文件夾中:


          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



          3.自定義整理



          如果你并不想按照設(shè)定好的文件整理,希望能自定義地將某些特定后綴的文件放到另一個文件夾,比如 .py 文件統(tǒng)一收納到“Python腳本”文件夾中,你可以這么改 DIRECTORIES 變量:

          改動前:

          DIRECTORIES = {
              # ......
              "編程": [".py",".html5", ".html", ".htm", ".xhtml",".c",".cpp",".java",".css"],
              # ......
          }


          改動后:

          DIRECTORIES = {
              # ......
              "編程": [".html5", ".html", ".htm", ".xhtml",".c",".cpp",".java",".css"],
              "Python腳本": [".py"],
              # ......
          }


          你可以按照這個方法,自定義收納那些你需要整理收納的文件格式。

          如果你只想對 DIRECTORIES 變量里那些后綴的文件進(jìn)行整理,不屬于這些后綴的文件則不進(jìn)行整理,不需要放到“其他文件”目錄下,此時(shí)要怎么做?

          很簡單,你只需要刪除以下部分代碼就可以完成這個功能:

          # ......
              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
          # ......


          怎么樣,是不是很方便?如果這個簡單的腳本幫助到了你,請轉(zhuǎn)發(fā)給需要的人哦。

          如何獲取源碼:

          在上面原理一節(jié)中我已經(jīng)將所有源代碼都講完了,如果你不想復(fù)制粘貼,也可以在公眾號后臺回復(fù) 「整理」 獲得完整源代碼下載地址。



          推薦閱讀:

          入門: 最全的零基礎(chǔ)學(xué)Python的問題  | 零基礎(chǔ)學(xué)了8個月的Python  | 實(shí)戰(zhàn)項(xiàng)目 |學(xué)Python就是這條捷徑


          干貨:爬取豆瓣短評,電影《后來的我們》 | 38年NBA最佳球員分析 |   從萬眾期待到口碑撲街!唐探3令人失望  | 笑看新倚天屠龍記 | 燈謎答題王 |用Python做個海量小姐姐素描圖 |碟中諜這么火,我用機(jī)器學(xué)習(xí)做個迷你推薦系統(tǒng)電影


          趣味:彈球游戲  | 九宮格  | 漂亮的花 | 兩百行Python《天天酷跑》游戲!


          AI: 會做詩的機(jī)器人 | 給圖片上色 | 預(yù)測收入 | 碟中諜這么火,我用機(jī)器學(xué)習(xí)做個迷你推薦系統(tǒng)電影


          小工具: Pdf轉(zhuǎn)Word,輕松搞定表格和水印! | 一鍵把html網(wǎng)頁保存為pdf!|  再見PDF提取收費(fèi)! | 用90行代碼打造最強(qiáng)PDF轉(zhuǎn)換器,word、PPT、excel、markdown、html一鍵轉(zhuǎn)換 | 制作一款釘釘?shù)蛢r(jià)機(jī)票提示器! |60行代碼做了一個語音壁紙切換器天天看小姐姐!


          年度爆款文案


          點(diǎn)閱讀原文,領(lǐng)廖雪峰視頻資料!

          瀏覽 26
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  伊人在线视频 | 色婷婷二区 | 2024AV天堂 | 亚洲黄色电影一级片 | 国产乱码一区二区三区四区在线 |