利用python批量修改word文件名的方法示例
前言
最近不小心把硬盤給格式化了,由于當(dāng)時(shí)的文件沒(méi)有備份,所以一下所有的文件都沒(méi)有了,于是只能采取補(bǔ)救措施,用文件恢復(fù)軟件恢復(fù)了一部分的數(shù)據(jù)出來(lái),但是恢復(fù)完畢的文件的文件名全丟了,所有的文件只有代號(hào),如下面的圖:
幾萬(wàn)個(gè)文件這要是手動(dòng)的改得要改到明年。所以便動(dòng)手寫了一個(gè)python的腳本程序來(lái)代替這種繁雜的操作。
實(shí)現(xiàn)分析
想讓程序來(lái)理解我的word文檔里到底是什么內(nèi)容是不可能的了,但是好在我的word文檔內(nèi)容都有標(biāo)題,大部分的標(biāo)題正好就是這個(gè)文檔的文件名,于是我便打算把文檔的標(biāo)題當(dāng)作文件名,而文件名大部分都是內(nèi)容的第一段,于是思路便有了。于是開始寫程序開干。
實(shí)現(xiàn)方法
首先需要安裝python-docx庫(kù),直接通過(guò)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 Document import os #這個(gè)是放所有待修改的word文件的目錄 dir_1 = "C:\\Users\\visg\\Desktop\\4" filenames = os.listdir(dir_1) #自動(dòng)修改 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")
具體的目錄自己修改下就可以了,這里我直接跳過(guò)了哪些名字改后重復(fù)的文件。
但是有點(diǎn)坑的地方是恢復(fù)出來(lái)的文檔有的是docx,有的是doc文檔,docx文檔可以通過(guò)以上的方法來(lái)改名,但是doc文檔便出現(xiàn)了問(wèn)題。于是便只能先把doc文檔轉(zhuǎn)成docx文檔,然后再用上述的方法來(lái)修改。怎么把doc轉(zhuǎn)成docx,這里有一篇博客,一個(gè)大牛寫了個(gè)比較利好的插件可以很好的實(shí)現(xiàn)(http://blog.sina.com.cn/s/blog_5488e3a90100u8ux.html),親測(cè)好用!
注意:上述的方法對(duì)于大部分的word文檔是可以的,但是有些文檔由于格式等自身原因,無(wú)法進(jìn)行修改,對(duì)于這些文檔可以直接手動(dòng)修改。
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
相關(guān)文章
Python3 sort和sorted用法+cmp_to_key()函數(shù)詳解
這篇文章主要介紹了Python3 sort和sorted用法+cmp_to_key()函數(shù)詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-07-07Python基礎(chǔ)之函數(shù)嵌套知識(shí)總結(jié)
今天帶大家回顧python基礎(chǔ)知識(shí),文中對(duì)Python函數(shù)嵌套作了非常詳細(xì)的知識(shí)總結(jié),對(duì)正在學(xué)習(xí)python基礎(chǔ)的小伙伴們很有幫助,需要的朋友可以參考下2021-05-05python Django編寫接口并用Jmeter測(cè)試的方法
這篇文章主要介紹了python Django編寫接口并用Jmeter測(cè)試,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07Caffe卷積神經(jīng)網(wǎng)絡(luò)數(shù)據(jù)層及參數(shù)
這篇文章主要為大家介紹了Caffe卷積神經(jīng)網(wǎng)絡(luò)數(shù)據(jù)層及參數(shù)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06python自動(dòng)化測(cè)試之異常及日志操作實(shí)例分析
這篇文章主要介紹了python自動(dòng)化測(cè)試之異常及日志操作,結(jié)合實(shí)例形式分析了python自動(dòng)化測(cè)試中的異常捕獲與日志記錄相關(guān)操作技巧,需要的朋友可以參考下2019-11-11構(gòu)建高效的python requests長(zhǎng)連接池詳解
這篇文章主要介紹了構(gòu)建高效的python requests長(zhǎng)連接池詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-05-05