-
python批量修改文件名代码_python批量修改文件名代码实例
2020-12-01 19:16:37python批量修改文件名代码: 代码示例:#coding:utf-8#批量修改文件名import os import re import datetimere_st = r'(\d+)\+\s?\((\d+)\)'#用于匹配旧的文件名,需含分组 re_match_old_file_name = re.compile(re_st)...python批量修改文件名
代码: 代码示例:
#coding:utf-8
#批量修改文件名
import os import re import datetime
re_st = r'(\d+)\+\s?\((\d+)\)'
#用于匹配旧的文件名,需含分组 re_match_old_file_name = re.compile(re_st)
#要修改的目录 WORKING_PATH = r'F:\Gallery'
#------------------------------------------
def rename_fomat(name):
"""
文件重命名格式组织模块(一般修改这里就可以了)
NOTE:返回类型必须是unicode
"""
if name:
re_rn = re_match_old_file_name.findall(name)
if re_rn and re_rn != []:
re_rn = re_rn[0]
num = int(re_rn)
new_nm = u'NO.%04d' % ( num)
return new_nm
#------------------------------------------
def logs(error):
"""
错误记录
"""
log = ''
LOG_FILE = open(r'./log.txt', 'a')
live_info ="""
==========
Time : %s
title : %s
Path :
%s
==========
""" % (
datetime.datetime.now(),
str(error['title']),
str(error['index']),
)
log += live_info
errors = error['error_paths']
for item in errors:
item = '%s\n' % item
log += item
log = log.encode('utf-8')
try:
LOG_FILE.write(log)
except IOError:
print u'写入日志失败'
finally:
LOG_FILE.close()
#---------------------------------------
def rename(old, new):
"""
文件重命名模块
return:
0:rename success
1:the new path is exists
-1:rename failed
"""
if not os.path.exists(new):
try:
os.renames(old, new)
return 0
except IOError:
print 'path error:', new
return -1
else:
return 1
#---------------------------------------
def get_dirs(path):
"""
获取目录列表
"""
if os.path.exists(path):
return os.listdir(path)
else:
return -1
#------------------------------------------
def get_input_result(word, choice):
"""
获取正确的输入结果
"""
correct_result = set(choice)
word = '===%s?\n[in]:' % (word)
while True:
in_choice = raw_input(word)
if in_choice in correct_result: return in_choice
#---------------------------------------------
def batch_rename(index, dirs = []):
"""
批量修改文件
"""
index = unicode(index)
errors = []
if dirs == []:
dirs = get_dirs(path = index)
if dirs and dirs != []:
for item in dirs:
item = unicode(item)
new_name = rename_fomat(item)
if new_name :
old_pt = u'%s\\%s'% (index, item)
new_pt = u'%s\\%s'% (index, new_name)
res_rn = rename(old_pt, new_pt)
if res_rn != 0:
errors.append(item)
else:
errors.append(item)
if errors and errors != []:
print 'Rename Failed:'
logs({
'index': index,
'title': 'Rename Failed' ,
'error_paths': errors,
})
for i, item in enumerate(errors):
print item, '|',
if i % 5 == 4:
print ''
print ''
else:
return -1
#----------------------------------------------
def batch_rename_test(index):
"""
测试
返回过滤结果
"""
index = unicode(index)
errors = []
correct = []
dirs = get_dirs(path = index)
if dirs and dirs != []:
for x, item in enumerate(dirs):
item = unicode(item)
new_name = rename_fomat(item)
if new_name :
correct.append(item)
old_pt = u'%s\\%s'% (index, item)
new_pt = u'%s\\%s'% (index, new_name)
print '[%d]O: %s' % ( x + 1, old_pt)
print '[%d]N: %s' % ( x + 1, new_pt)
else:
errors.append(item)
if errors and errors != []:
print 'Not Match:'
logs({
'index': index,
'title': 'Not Match',
'error_paths': errors,
})
for i, item in enumerate(errors):
print item, '|',
if i % 5 == 4:
print ''
print ''
return correct
#--------------------------------
def manage(index):
"""
程序组织块
"""
file_filter = batch_
rename_test(index)
do_choice = get_input_result(
word = 'Do with this(y / n)',
choice = ['y', 'n']
)
if do_choice == 'y':
batch_rename(index, dirs= file_filter)
print 'Finished !'
if __name__ == '__main__':
path = WORKING_PATH
manage(index = path)
-
python批量修改文件名
2020-12-07 17:36:30python批量修改文件名 要点: 文件名获取 文件名后缀按照规定字符'.'分割 文件重命名: 字符串与数字的连接 代码如下 #encoding=gbk import os def main (path): filename_list = os.listdir(path) """os....python批量修改文件名
要点:
- 文件名获取
- 文件名后缀按照规定字符
'.'
分割 - 文件重命名: 字符串与数字的连接
代码如下
#encoding=gbk import os def main (path): filename_list = os.listdir(path) """os.listdir(path) 扫描路径的文件,将文件名存入存入列表""" a = 0 for i in filename_list: used_name = path + filename_list[a] new_name = path + str(a) + used_name[used_name.index('.'):] # 保留原后缀 os.rename(used_name, new_name) print("文件%s重命名成功,新的文件名为%s" %(used_name,new_name)) a += 1 if __name__=='__main__': path="C:/Users/HeBin/Pictures/Screenshots/" # 目标路径 main(path)
-
Python批量修改文件名
2020-02-26 20:28:27利用Python批量修改文件名 import os import glob def main(): folder = '../../datasets/DIV2K/DIV2K_train_LR_mild' # 选择文件夹 DIV2K(folder) print('Finished.') def DIV2K(path): img_path_l = ...利用Python批量修改文件名
import os import glob def main(): folder = '../../datasets/DIV2K/DIV2K_train_LR_mild' # 选择文件夹 DIV2K(folder) print('Finished.') def DIV2K(path): img_path_l = glob.glob(os.path.join(path, '*')) #读取文件名 for img_path in img_path_l: new_path = img_path.replace('x4m', '') # 去除文件名中的'x4m' os.rename(img_path, new_path) if __name__ == "__main__": main()
-
python 批量修改文件名
2018-04-12 00:01:28python3实现批量修改文件名以批量修改某文件夹下所有图片名称为例,注释超详细,万能模板,读者可举一反三,适当修改模板,效果显著!#批量修改文件名 #批量修改图片文件名 import os import re import sys def ...python3实现批量修改文件名
以批量修改某文件夹下所有图片名称为例,注释超详细,万能模板,读者可举一反三,适当修改模板,效果显著!
#批量修改文件名 #批量修改图片文件名 import os import re import sys def renameall(): fileList = os.listdir(r"C:\Users\Administrator\Desktop\stars") #待修改文件夹 print("修改前:"+str(fileList)) #输出文件夹中包含的文件 currentpath = os.getcwd() #得到进程当前工作目录 os.chdir(r"C:\Users\Administrator\Desktop\stars") #将当前工作目录修改为待修改文件夹的位置 num=1 #名称变量 for fileName in fileList: #遍历文件夹中所有文件 pat=".+\.(jpg|png|gif)" #匹配文件名正则表达式 pattern = re.findall(pat,fileName) #进行匹配 os.rename(fileName,(str(num)+'.'+pattern[0])) #文件重新命名 num = num+1 #改变编号,继续下一项 print("---------------------------------------------------") os.chdir(currentpath) #改回程序运行前的工作目录 sys.stdin.flush() #刷新 print("修改后:"+str(os.listdir(r"C:\Users\Administrator\Desktop\stars"))) #输出修改后文件夹中包含的文件 renameall()
运行程序:
修改过后文件夹中显示情况:
修改成功,我们非常满意!
------愿每个少男少女每一个梦不会一场空
-
python 批量修改文件名_Python 批量修改文件名
2020-11-30 12:28:58当你从网络下载一季电视剧或一部电影时,文件名前边可能有很多前缀,比如说圣城家园,人人影视或者其他什么的。在查看文件时往往只显示前面的一些不是那么必要的字符了,降低了查看文件名的效率,在文件夹里看起来也... -
python批量修改文件名_批量修改文件名
2020-12-07 11:43:50因此,给大家分享一下如何用Python批量修改文件名。import os file_path = 'E:Try' ## 文件路径 file_list = os.listdir(file_path) os.chdir(file_path) print(file_list) j = 1 for i in f... -
python批量修改文件名代码_python批量修改文件名的实现代码
2020-11-30 12:29:07#coding:utf-8 #批量修改文件名 import os import re import datetime re_st = r'(\d+)\+\s\((\d+)\)' #用于匹配旧的文件名,需含分组 re_match_old_file_name = re.compile(re_st) #要修改的目录 WORKING_PATH = r'F... -
Python 批量修改文件名
2019-06-09 13:41:49批量修改文件名 .pgm ---- .jpg -
python批量修改文件名代码_python实现批量修改文件名
2020-11-30 12:29:03python3实现批量修改文件名,供大家参考,具体内容如下以批量修改某文件夹下所有图片名称为例,注释超详细,万能模板,读者可举一反三,适当修改模板,效果显著!#批量修改文件名#批量修改图片文件名import osimport... -
python 修改文件名_利用python批量修改文件名
2020-12-04 21:35:07这篇文章将会给大家提供利用python批量修改文件名的办法!两个小时枯燥无味的工作一秒钟解决嘻嘻嘻。这感觉就像office软件的【查找替换】hhh,但是替换的不是文件内容,是文件名称哟!下面直接放出代码:import os; ...