python重命名多个文件

Posted

技术标签:

【中文标题】python重命名多个文件【英文标题】:python renaming multiple files 【发布时间】:2019-11-02 21:26:51 【问题描述】:

我想使用 python 重命名特定文件夹中的所有文件,但在执行代码时出现此错误:

FileExistsError: [WinError 183] 当文件已经存在时无法创建文件:'D:\New folder\New Text Document.txt' -> 'D:\New folder\kj1.txt'

我正在尝试重命名路径中的所有文件:D:\New Folder\

dname = input("\nenter the path\t")
if os.path.isdir(dname):
   dst = input("\nenter new file name: \t")
   for i in os.listdir(dname):
       n = 1
       mystr = ".txt"
       src = os.path.join(dname, i)
       dd = dst + str(n) + mystr
       dd = os.path.join(dname, dd)
       os.rename(src, dd)
       n = n + 5
   for i in os.listdir(dname):
       print(i)

【问题讨论】:

检查文件'kj1.txt'是否已经存在。 n = 1移出循环... 【参考方案1】:

这是因为目标文件 kj 1.txt 已经存在。根据the documentation,

在 Windows 上,如果 dst 已经存在,OSError 将被提升,即使它是一个文件。

【讨论】:

嗨。目标文件不退出。在 for 循环中,程序将文件重命名为“kj1.txt”。然后,在下一次迭代中,程序抛出错误“目标文件 kj1.txt 存在”。你能帮我解决这个错误吗? 这是有道理的。第一次,kj1文件不存在。在下一次迭代中,脚本仍然想将文件重命名为 kj1。这一次,它存在。将 n=1 抛出循环。

以上是关于python重命名多个文件的主要内容,如果未能解决你的问题,请参考以下文章

在Python中重命名目录中的多个文件[重复]

怎么批量重命名多个文件夹里的图片

python pandas以相同的方式重命名多个列标题

重命名不带括号的多个文件/删除括号窗口

python之批量文件重命名

如何每天重命名多个文件