Python 獲取指定文件夾下面的所有文件,以及對文件進行重命名

  • 問題描述

遇到一個問題,需要在一個文件夾裏面填充許多文件,同時對填充的文件後綴名有一定的要求(只需要更改後綴名,不在意是否可用)。完成填充以後,發現許多文件的後綴名不符合要求,手動更改吧,耗時耗力又low,本着人生苦短,我用Python的精神,寫了個小腳本。

 

  • 解決方法

直接上代碼,代碼用到的是遞歸思想:

#!/usr/bin/python  
# -*- coding:utf8 -*-  

import os
import random

names = ['.doc', '.pdf', '.docx', '.txt', '.exe', '.zip', '.XLS'] # 需要隨機替換的後綴名列表

def test(path):
    files = os.listdir(path)  # 獲取當前目錄的所有文件及文件夾
    for file in files:
        try:
            file_path = os.path.join(path, file)  # 獲取絕對路徑
            if os.path.isdir(file_path):  # 判斷是否是文件夾
                test(file_path)  # 如果是文件夾,就遞歸調用自己
            else:
                print(file_path)
                extension_name = os.path.splitext(file_path)  # 將文件的絕對路徑中的後綴名分離出來
                print(extension_name)
                os.rename(file_path, extension_name[0] + names[random.randint(0, (len(names) - 1))])  # 對文件進行重命名
        except:
            continue  # 可能會報錯,所以用了try-except,如果要求比較嚴格,不需要報錯,就刪除異常處理,自己調試

test(r'E:\1')

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章