我想通过将最后一个字符改为小写(如果是字母)来重新命名目录
我已经在我以前的帖子的帮助下完成了这项工作(很抱歉重复发布,并且没有确认答案)
这段代码适用于文件,但是我怎样才能使它也适用于目录呢?
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:\Sonstiges\geoserver\IM_Topo\GIS\MAPTILEIMAGES_0\tiles_2"):
if f[-5].isalpha():
os.rename(f,f[:-5]+f[-5].lower() + ".JPG")
print "Renamed " + "---to---" + f[:-5]+f[-5].lower() + ".JPG"
问题是os.walk的默认值是自上而下的。如果在自上而下遍历时尝试重命名目录,则结果是不可预测的。
尝试将
os.walk
设置为自下而上:编辑
另一个问题是
listFiles()
返回的是文件而不是目录。这个(未测试的)子返回自下而上的目录:
相关问题 更多 >
编程相关推荐