精华内容
下载资源
问答
  • python批量修改文件名代码: 代码示例:#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:30
    python批量修改文件名 要点: 文件名获取 文件名后缀按照规定字符'.'分割 文件重命名: 字符串与数字的连接 代码如下 #encoding=gbk import os def main (path): filename_list = os.listdir(path) """os....

    python批量修改文件名

    要点:

    1. 文件名获取
    2. 文件名后缀按照规定字符'.'分割
    3. 文件重命名: 字符串与数字的连接

    代码如下

    #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:28
    python3实现批量修改文件名以批量修改某文件夹下所有图片名称为例,注释超详细,万能模板,读者可举一反三,适当修改模板,效果显著!#批量修改文件名 #批量修改图片文件名 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批量修改文件名。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...
  • #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
  • python3实现批量修改文件名,供大家参考,具体内容如下以批量修改某文件夹下所有图片名称为例,注释超详细,万能模板,读者可举一反三,适当修改模板,效果显著!#批量修改文件名#批量修改图片文件名import osimport...
  • 这篇文章将会给大家提供利用python批量修改文件名的办法!两个小时枯燥无味的工作一秒钟解决嘻嘻嘻。这感觉就像office软件的【查找替换】hhh,但是替换的不是文件内容,是文件名称哟!下面直接放出代码:import os; ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 898
精华内容 359
关键字:

python批量修改文件名

python 订阅