当前位置 博文首页 > Python 文件重命名工具代码

    Python 文件重命名工具代码

    作者:admin 时间:2021-02-06 12:19

    复制代码 代码如下:

    #Filename:brn.py
    #Description: batch replace certain words in file names
    #Use to bat rename the file in a dir(modify the suffix from a to b) for Windows Vista OS
    import sys
    import os
    import fnmatch
    import re
    #parse params
    p=input("Please input work directory(current path for enter):")
    if p=='\r':
    p='.'
    p=p.rstrip('\r')
    print (p)
    while not os.path.exists(p):
    print (p+' is not existed.Please input the work directory:')
    p=input("Please input work directory(current path for enter):")
    s=input("Please enter the words which need be modified(must):")
    while s=='\r':
    s=input("Please enter the words which need be replaced(must):")
    s=s.rstrip('\r')
    d=input("Please enter the words which want to change to(must):")
    while d=='\r':
    d=input("Please enter the words which want to change to(must):")
    d=d.rstrip('\r')
    try:
    sure=input("Are you sure to rename the file named *"+s+"*"+" to *"+d+"*"+" in directory "+p+"? y/n:")
    sure=sure.rstrip('\r')
    if sure!='y':
    print ("Cancel")
    else:
    for root, dirs, files in os.walk(p, True):
    for file in files:
    print (os.path.join(root,file))
    if os.path.isfile(os.path.join(root,file)):#Only file is file,not a dir ,do this
    if fnmatch.fnmatch(file, '*'+s+'*'):
    f=str(file).replace(s,d)
    if p=='.':
    command='move '+str(file)+" "+f
    else:
    command="move "+os.path.join(root,file)+" "+os.path.join(root,f)
    print (command)
    if os.system(command)==0:#do actual rename
    print ("Rename "+str(file)+" to "+f+" success")
    else:
    print ("Rename "+str(file)+" to "+f+" failed")
    #else:
    #print str(file)+" is a directory.omit"
    except IndexError:
    print (IndexError.message)
    js
    下一篇:没有了