利用python批量修改word檔案名稱的方法樣本,
前言
最近不小心把硬碟給格式化了,由於當時的檔案沒有備份,所以一下所有的檔案都沒有了,於是只能採取補救措施,用檔案恢複軟體恢複了一部分的資料出來,但是恢複完畢的檔案的檔案名稱全丟了,所有的檔案只有代號,如下面的圖:
幾萬個檔案這要是手動的改得要改到明年。所以便動手寫了一個python的指令碼程式來代替這種繁雜的操作。
實現分析
想讓程式來理解我的word文檔裡到底是什麼內容是不可能的了,但是好在我的word文檔內容都有標題,大部分的標題正好就是這個文檔的檔案名稱,於是我便打算把文檔的標題當作檔案名稱,而檔案名稱大部分都是內容的第一段,於是思路便有了。於是開始寫程式開幹。
實現方法
首先需要安裝python-docx庫,直接通過pip安裝: pip install python-docx
具體的程式如下:
# -*- coding: utf-8 -*-"""NameChange1.0 This is a program that automatically modifies the name of an word document. author:fanghao"""from docx import Documentimport os #這個是放所有待修改的word檔案的目錄dir_1 = "C:\\Users\\visg\\Desktop\\4"filenames = os.listdir(dir_1) #自動修改for a in range(len(filenames)): print(filenames[a]) dir_docx = dir_1 +"\\"+ filenames[a] try: document = Document(dir_docx) except: print("error") else: new_name = document.paragraphs[0].text + '.docx' try: os.rename(dir_1 + os.sep + filenames[a],dir_1 + os.sep + new_name) except(FileNotFoundError,FileExistsError,OSError): print("FileNotFoundError")
具體的目錄自己修改下就可以了,這裡我直接跳過了哪些名字改後重複的檔案。
但是有點坑的地方是恢複出來的文檔有的是docx,有的是doc文檔,docx文檔可以通過以上的方法來改名,但是doc文檔便出現了問題。於是便只能先把doc文檔轉成docx文檔,然後再用上述的方法來修改。怎麼把doc轉成docx,這裡有一篇部落格,一個大牛寫了個比較利好的外掛程式可以很好的實現(http://blog.sina.com.cn/s/blog_5488e3a90100u8ux.html),親測好用!
注意:上述的方法對於大部分的word文檔是可以的,但是有些文檔由于格式等自身原因,無法進行修改,對於這些文檔可以直接手動修改。
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對幫客之家的支援。