首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >python递归重命名目录

python递归重命名目录
EN

Stack Overflow用户
提问于 2018-06-16 22:49:03
回答 1查看 522关注 0票数 3

我编写了一个脚本,以递归方式使用包含空格或特殊字符的名称重命名目录:

import os
import re
import pdb

def renameInvalid(root):
    print("root is: " + root)
    for f in os.listdir(root):        
        if os.path.isdir(f):            
            old = f
            f = f.replace(" ", "_")
            f = re.sub(r'[^a-zA-Z0-9-_]', '',f)
            if old != f:
                print(root + " na substitutie")
                os.rename(old,f)
                print(root + " na hernoemen")
                print("renamed " + old + " to " + f )
                #pdb.set_trace() 
                f = '/' + f
                pad = root + f                
                renameInvalid(str(pad))

mountpunt = os.getcwd()
renameInvalid(mountpunt)

您可以通过创建两个名称包含空格的目录来测试此脚本。将其中一个目录放在另一个目录中,然后从第一个目录中运行脚本。该脚本重命名第一个目录,但在isdir(f)上生成一个OSError。有人知道这里的问题是什么吗?

致以敬意,

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50888930

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档