文件夹图片批量管理与注册表添加
注册表添加Edit with IDLE
首先来看到注册表添加IDLE;
-
WIN+R键运行命令窗口,输入regedit,点击确定打开注册表。
-
输入框中定位到,SystemFileAssociations,新建项。
-
建立完整的.py项,包括shell->edit->command。
-
点击shell/edit,找到右边框。更改数值数据为Edit with IDLE。
-
最后点击command,更改数值数据为如下所示:
python实现图片管理
按名称重命名
-
os.walk():遍历指定目录
-
os.renme(old, new):文件重命名
- os.path.join(a, b):连接组合路径
- 图片数量考虑在1000张以内
直接看代码:
# -*- coding: utf-8 -*-
import os
import os.path
def renameNameSorted(dirPath):
i=0
for parent,dirnames,filenames in os.walk(dirPath):
for filename in filenames:
# 这里图片大小定义在1000内
if i < 10:
newName = "00" + str(i)
elif i > 9 and i < 100:
newName = "0" + str(i)
else:
newName = str(i)
i=i+1
newName=newName+'.jpg'
os.rename(os.path.join(parent,filename),os.path.join(parent,newName))
if __name__ == '__main__':
renameNameSorted(r"D:\demo") #输入指定路径
print("Finished!")
按时间重命名
- os.path.getmtime(name) :获取文件的修改时间
看代码:
import os
import os.path
def renameFilesSortedByTime(dirPath):
mlist = []
files = os.listdir(dirPath)
for filename in files:
createTime = os.path.getmtime(dirPath + filename)
# 这里将时间与文件名放一起方便后续作截取
mlist.append(str(int(createTime)) + "-" + filename)
mlist = sorted(mlist)
for i in range(len(mlist)):
oldName = mlist[i][11:]
if (i + 1) < 10:
newName = "cr00" + str(i + 1)
elif (i + 1) > 9 and (i + 1) < 100:
newName = "cr0" + str(i + 1)
else:
newName = "cr"+str(i + 1)
newName = newName + '.jpg'
os.rename(dirPath + oldName, dirPath + newName)
if __name__ == '__main__':
renameFilesSortedByTime("D:/demo")
print("Finished!")
删除文件名不包含某段字符串的文件
- find函数用来匹配字符串,remove函数用来删除文件。
import os
def delFilesByID(dirPath):
for root, dirs, files in os.walk(dirPath):
for name in files:
if name.find("sample") == -1:
os.remove(os.path.join(root, name))
if __name__ == '__main__':
delFilesByID(r"D:\demo") #输入指定路径
print("Finished!")