大家工作與學習的工程中肯定會有一些文件操作
最基本的額就是對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)