首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何修复!??= FileExistsError:[WinError 183]在该文件已经存在时无法创建该文件

如何修复!??= FileExistsError:[WinError 183]在该文件已经存在时无法创建该文件
EN

Stack Overflow用户
提问于 2022-10-04 22:03:23
回答 2查看 180关注 0票数 0

我一直在努力将文件夹中所有文件的名称更改为具有相同的名称和数字计数。我对python还是很陌生的&我一直在编写这段代码。每次调试之后,我都会得到另一个错误,现在我被困住了。

我有372个文件在这个文件夹,我需要重命名为"prcp_2016_###“计数号码为000 - 372。

这是我迄今为止一直在使用的代码..。

代码语言:javascript
运行
复制
for count, f in enumerate(os.listdir()):
f_name, f_ext = os.path.splitext(f)
f_name = "prcp_2016_" + str(count)

new_name = f'{f_name}{f_ext}'
os.rename(f, new_name)

我一直收到的错误消息是:

FileExistsError:当文件已经存在时,WinError 183无法创建该文件:“prcp_2016_10.asc‘->’prcp_2016_2.asc”

如果有人能帮我什么忙,我和我的研究生教育将永远感激:)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-10-04 22:06:50

尝试这样做,在重命名文件之前,它将检查文件是否已经存在。

代码语言:javascript
运行
复制
for count, f in enumerate(os.listdir()):
    f_name, f_ext = os.path.splitext(f)
    f_name = "prcp_2016_" + str(count)

    new_name = f'{f_name}{f_ext}'
    if not os.path.exists(new_name):
        os.rename(f, new_name)

编辑:如果您想看到@JustLearning建议的异常,实际上应该打印异常名称如下:

代码语言:javascript
运行
复制
for count, f in enumerate(os.listdir()):
    f_name, f_ext = os.path.splitext(f)
    f_name = "prcp_2016_" + str(count)

    new_name = f'{f_name}{f_ext}'
    try:
        os.rename(f, new_name)
    except Exception as e:
        print("Renaming didn't work because " + str(e))
票数 0
EN

Stack Overflow用户

发布于 2022-10-04 22:09:53

您可以将任何异常处理为:

代码语言:javascript
运行
复制
for count, f in enumerate(os.listdir()):
    f_name, f_ext = os.path.splitext(f)
    f_name = "prcp_2016_" + str(count)

    new_name = f'{f_name}{f_ext}'
    try:
        os.rename(f, new_name)
    except:
        print("Renaming didn't work because _____. Moving on...")
        continue

print语句中的空白应该对您和您的研究生院教育有帮助:)

也就是说,最好是处理例外情况,而不是任由它们发生。上面的代码是通用的,可以跳过不起作用的重命名,但是您应该试着理解它们不工作的原因。例如,它会在循环中得到重复的名称吗?

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

https://stackoverflow.com/questions/73954038

复制
相关文章

相似问题

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