如果你覺得對你有用,請留下一個贊再走,謝謝!!
一、頭疼的修改文件名,我是傻了
同事問我會不會改目錄下的文件名,我大叫一聲:你傻呀,你不會右鍵重命名呀呀,或者按 F2快捷鍵,但是當我解壓完同事的目錄後,人都傻了,自己看圖哈!!
-
偷偷告訴你,這樣的文件有一大堆,如果你右鍵估計一天才能搞定,頓時我就不敢出聲了。
-
先看同事的需求是什麼:幫他去掉類似 **[圖靈程序設計叢書].**的詞,只留下書名
-
看到這,請問小夥伴們你是怎麼解決的,歡迎留言一起吐槽,哈哈哈哈哈哈。
二、茅塞頓開,秒解決同事問題
在我思考如何解決同事這個問題時,我的腦海中突然靈光一閃,之前寫過一鍵修改圖片大小的程序,那我爲何不也寫個程序直接一鍵修改文件名呢!!!說幹就幹
考慮到時效性,我用了Python來寫這個小程序,歡迎留言交流你的程序:上代碼 -->
import os
import re
import time
"""對指定目錄下的所有文件進行有選擇的修改名稱"""
def ReFileName(dirPath,pattern):
"""
:param dirPath: 文件夾路徑
:param pattern: 正則匹配模式
:return:
"""
# 對目錄下的文件進行遍歷
for file in os.listdir(dirPath):
# 判斷是否是文件
if os.path.isfile(os.path.join(dirPath, file)) == True:
# 用正則匹配,去掉不需要的詞
newName = re.sub(pattern, "", file)
# 設置新文件名
newFilename = file.replace(file, newName)
# 重命名
os.rename(os.path.join(dirPath, file), os.path.join(dirPath, newFilename))
print("文件名已統一修改成功")
if __name__ == '__main__':
timeStart = time.time()
dirPath = r"F:\test"
pattern = re.compile(r'\[{1}(.+)]\.')
ReFileName(dirPath,pattern)
timeEnd = time.time()
print("程序走了%d秒"%(timeEnd-timeStart))
代碼簡要說明一下:
1.因爲這裏需求只是簡單的修改文件名,所以小夥伴們千萬不要用open()……這種方法,雖然它也是可以的,但是因爲文件太多,讀寫太慢,時效極低。
2. 還有需要替換或者提取的文件名,不僅限於圖中所示,你可以靈活運用正則表達式來達到自己的需求。
看效果:
再看程序運行時間:
此處是不是應該要有個贊,哈哈哈哈!趕快動起來吧!!!!
這裏還分享一個乾貨給小夥伴們哈!!
python獲取當前目錄下的一些信息---->
"""獲取當前目錄下的信息"""
def ReFileName1(dirPath):
for root, dirs, files in os.walk(dirPath):
print(root) # 當前目錄路徑
print(dirs) # 當前路徑下所有子目錄
print(files) # 當前路徑下所有非目錄子文件
好了,此篇文章就分享到這裏咯,看到這還不留個贊,有點說不過去了吧!! 哈哈哈哈哈
三、分享交流
最後有興趣一起交流的,可以關注我的公衆號:這裏你能夠學到很實用的技巧,不是常用的我不說,公衆號回覆提取碼即可獲取以下學習資料啦啦啦啦,喜歡就拿去吧!!
(鏈接時常會失效,若出現此類情況,可以加我微信:17722328325(加時請備註:學習資料))
-
Java web從入門到精通電子書
-
Python機器學習電子書
-
Python400集(北京尚學堂)
-
JavaScript項目案例、經典面試題
-
Java300集(入門、精通)
-
Java後端培訓機構錄集(同事培訓內部提供)
-
java重要知識pdf文檔(價值連城呀呀,不收藏你會後悔的)
喜歡就關注吧,點個贊吧