用os模塊實現python文件名批量操作-簡單版

大家工作與學習的工程中肯定會有一些文件操作
最基本的額就是對os模塊的,經常使用的如下平時得自己去發現

os.rename(需要修改的文件名, 新的文件名) 重命名文件
os.remove() 刪除文件

os.mkdir() 創建文件夾

os.getcwd() 獲取當前目錄

os.chdir() 改變默認目錄

os.listdir() 獲取目錄列表

os.rmdir() 刪除文件夾

os.path.basename()  去掉目錄路徑,返回文件名

os.path.dirname()   去掉文件名,返回目錄路徑

os.path.join()  將分離的各部分組合成一個路徑名

os.path.split()  返回(dirname(),basename())元組

os.path.splitnext()  返回(filename,extension)元組

os.path.getatime\ctime\mtime  分別返回最近訪問、創建、修改時間

os.path.getsize()  返回文件大小

os.path.exists()  是否存在

os.path.isabs()  是否爲絕對路徑

os.path.isdir()  是否爲目錄

os.path.isfile()  是否爲文件

我的代碼如下,大家只需要對部分文件名進行規則判斷,然後指定新文件名的規則即可

import os
total_file_nums=0
avi_file_nums=0
# os.rename(src,dst,src_dir_fd,dst_dir_fd)

def scan_path(ph):
    file_list = os.listdir(ph)
    for obj in file_list:
        obj = os.path.join(ph, obj)
        if os.path.isfile(obj):
            global total_file_nums
            global avi_file_nums
            total_file_nums = 1 + total_file_nums
            name = os.path.basename(obj)
            if name.split('.')[-1] == 'mp4':
                '''在這裏判斷是否是avi文件'''
                avi_file_nums += 1
                print(name)
                # new_name = name[14:-3]+"_0_1.mp4"
                # new_name = name.replace("._0_1.mp4","_0_1.mp4")
                # new_obj = os.path.join(ph,new_name)
                os.rename(obj,new_obj)
                # print(name[20:-4])

                #In [7]: '2019-06-17-10-50-07-13380.jpg'[20:-4]
                #Out[7]: '13380'
        elif os.path.isdir(obj):
            # print(obj)
            scan_path(obj)
if __name__ == "__main__":
    path =r'D:\Program Files (x86)\smartpps\Smart Professional Surveillance System\SmartPSS\Record\DownLoad'
    try:
        scan_path(path)
    except Exception as e:
        print(e)
    
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章