现在的位置: 首页 > 综合 > 正文

002_017 Python 在目录树中改变文件扩展名 重命名一系列指定类型的文件

2018年02月15日 ⁄ 综合 ⁄ 共 1844字 ⁄ 字号 评论关闭

代码如下:

#encoding=utf-8

print '中国'

#在目录树中改变文件扩展名 重命名一系列指定类型的 文件

import os

str ='123'

def swapextensions(dir,before,after):
    if before[:1] != '.':
        before = '.'+before
    thelen = -len(before)
    if after[:1] != '.':
        after = '.'+after
    for path, subdirs, files in os.walk(dir):
        for oldfile in files:
            if oldfile[thelen:] == before:
                oldfile = os.path.join(path,oldfile)
                newfile = oldfile[:thelen] + after
                os.rename(oldfile, newfile)
                


#测试

import os, fnmatch  
  
def all_files(root, patterns='*', single_level=False, yield_folders=False):  
    patterns = patterns.split(';')  
    for path, subdirs, files in os.walk(root):  
        if yield_folders: #枚举目录  
            files.extend(subdirs)  
        files.sort()  
        for name in files:  
            for pattern in patterns:  
                if fnmatch.fnmatch(name , pattern):  
                    yield os.path.join(path,name)  
                    break  
        if single_level:  
            break  

print '-------1'
for path in all_files(r'H:\football\GetFootballMatch\Release'):  
    print path.decode('gbk') 

swapextensions(r'H:\football\GetFootballMatch\Release',r'exe',r'exd')

print '-------2'
for path in all_files(r'H:\football\GetFootballMatch\Release'):  
    print path.decode('gbk') 

print '-------3'
swapextensions(r'H:\football\GetFootballMatch\Release',r'exd',r'exe')

for path in all_files(r'H:\football\GetFootballMatch\Release'):  
    print path.decode('gbk') 

打印结果如下:

中国
-------1
H:\football\GetFootballMatch\Release\ft.ini
H:\football\GetFootballMatch\Release\足彩辅助.exe
H:\football\GetFootballMatch\Release\足彩辅助.pdb
H:\football\GetFootballMatch\Release\足彩辅助.zip
H:\football\GetFootballMatch\Release\足彩辅助\足彩辅助.exe
-------2
H:\football\GetFootballMatch\Release\ft.ini
H:\football\GetFootballMatch\Release\足彩辅助.exd
H:\football\GetFootballMatch\Release\足彩辅助.pdb
H:\football\GetFootballMatch\Release\足彩辅助.zip
H:\football\GetFootballMatch\Release\足彩辅助\足彩辅助.exd
-------3
H:\football\GetFootballMatch\Release\ft.ini
H:\football\GetFootballMatch\Release\足彩辅助.exe
H:\football\GetFootballMatch\Release\足彩辅助.pdb
H:\football\GetFootballMatch\Release\足彩辅助.zip
H:\football\GetFootballMatch\Release\足彩辅助\足彩辅助.exe

抱歉!评论已关闭.