该脚本从目录中获取文件名,拆分文件名和扩展名。字符)和。然后从文件名中删除,从而重命名该文件名。如果出现错误,表明该目录中存在重复命名的文件,则由异常块使用os.remove进行处理。在try-except块之前打印输出会产生所需的结果,但是运行该块不会产生任何输出,就像在块之后打印一样。
为什么try-except块不能按预期工作?
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)发布于 2020-04-06 22:09:16
所以这对我很有效:
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中相同迭代的一部分。有这么简单吗?希望=)
https://stackoverflow.com/questions/61057539
复制相似问题