可能重复:
How to change last letter of filename to lowercase if it is a letter?
这篇文章是我上一篇文章的后续文章。 以下答案来自Abhijit。
它会检查文件名的最后一个字符,如果是字符,则将其更改为小写。我需要调整它,以便它检查最后一个字符的第5个。例如,fooB.PNG> foob.PNG
罗布
import fnmatch
import os
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"N:\test1"):
if f[-5].isalpha():
os.rename(f,f[:-5]+f[-5].lower())
print "Renamed " + f + "to" + f[:-5]+f[-1].lower()
答案 0 :(得分:0)
做这样的事情
>>> import os
>>> for root, subFolders, files in os.walk('/tmp'):
... for f in files:
... if len(f) < 5: continue
... newf = f[:-5]+f[-5].lower()+f[-4:]
... print "changing",f,"to",newf
...
但看起来你想要扩展名前的字符而不是5个字符?在这种情况下,为什么不只是从文件名中拆分扩展名并在降低最后一个字符后重新加入