【问题标题】:python renaming multiple filespython重命名多个文件
【发布时间】: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移出循环...

标签: python


【解决方案1】:

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

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

【讨论】:

  • 嗨。目标文件不退出。在 for 循环中,程序将文件重命名为“kj1.txt”。然后,在下一次迭代中,程序抛出错误“目标文件 kj1.txt 存在”。你能帮我解决这个错误吗?
  • 这是有道理的。第一次,kj1文件不存在。在下一次迭代中,脚本仍然想将文件重命名为 kj1。这一次,它存在。将 n=1 抛出循环。
猜你喜欢
  • 2014-02-19
  • 2021-02-20
  • 2012-04-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-22
相关资源
最近更新 更多