如果它是一个字母,如何将文件名的最后一个字母更改为小写?

时间:2011-11-29 17:22:47

标签: python

我收到了我的软件无法解释的数据,除非最后有一个小写字母。数据最后以大写字母提供。

不知何故,我需要首先递归遍历所有文件夹并查找文件名是否以字母结尾,然后将其更改为小写。

我认为python可以做到这一点,但我不知道怎么做。任何帮助都会很棒!

你的, 罗布

2 个答案:

答案 0 :(得分:4)

import fnmatch
import os

rootPath = '/'
pattern = '*.mp3'

for root, dirs, files in os.walk(rootPath):
    for filename in fnmatch.filter(files, pattern):
        os.rename(filename, filename[:-1] + filename[-1:].lower())

来源: http://rosettacode.org/wiki/Walk_a_directory/Recursively#Python

Rename Files in Python

答案 1 :(得分:4)

def listFiles(dir):
    rootdir = dir
    for root, subFolders, files in os.walk(rootdir):
        for file in files:
            yield os.path.join(root,file)
    return


for f in listFiles(r"Your Path"):
    if f[-1].isalpha():
        os.rename(f,f[:-1]+f[-1].lower())
        print "Renamed " + f + "to" + f[:-1]+f[-1].lower()

递归列出文件。如果最后一个字符是字母,请将其更改为小写并重命名文件


根据海报的最新要求修改程序

for fname in listFiles(r"Your Path"):
        newName=re.match("(^.*?)([A-Za-z\.]*$)",x)
        newName=''.join([newName[0],newName[1].lower()])
        os.rename(fname,newName)
        print "Renamed " + fname + "to" + newName