首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python os.rename、删除和错误捕获

Python os.rename、删除和错误捕获
EN

Stack Overflow用户
提问于 2020-04-06 18:18:44
回答 1查看 1.2K关注 0票数 0

该脚本从目录中获取文件名,拆分文件名和扩展名。字符)和。然后从文件名中删除,从而重命名该文件名。如果出现错误,表明该目录中存在重复命名的文件,则由异常块使用os.remove进行处理。在try-except块之前打印输出会产生所需的结果,但是运行该块不会产生任何输出,就像在块之后打印一样。

为什么try-except块不能按预期工作?

代码语言:javascript
复制
import os
import re

os.chdir('E:\D\Music\Music V')

for f in os.listdir(): 
    fileName, fileExt =  os.path.splitext(f) 
    fileName = re.sub('[).]','',fileName)
    newName = '{}{}'.format(fileName, fileExt)

    #print(newName)

try:
    os.rename(f, newName)
except WindowsError:
    os.remove(newName)
    os.rename(f, newName)

    #print(newName)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-06 22:09:16

所以这对我很有效:

代码语言:javascript
复制
import os
import re

os.chdir('E:\D\Music\Music V')

for f in os.listdir(): 
    fileName, fileExt =  os.path.splitext(f) 
    fileName = re.sub('[).],'',filename)
    newName = '{}{}'.format(fileName, fileExt)

    #print(newName)

    try:
        os.rename(f, newName)
    except WindowsError:
        os.remove(newName)
        os.rename(f, newName)

        #print(newName)

请注意,try:的额外缩进。没有它,它就不是for f中相同迭代的一部分。有这么简单吗?希望=)

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

https://stackoverflow.com/questions/61057539

复制
相关文章

相似问题

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