【问题标题】:FileExistsError: [WinError 183] Cannot create a file when that file already existsFileExistsError:[WinError 183] 当文件已存在时无法创建该文件
【发布时间】:2022-07-06 23:12:54
【问题描述】:

我有一个主“MAIN”文件夹,我想在其中创建几个名为“test_1”、“test_2”等的子文件夹。我已完成以下操作,成功在主文件夹中创建了“MAIN”文件夹和“test_1”;但是,它无法创建后续的子文件夹。它引发以下错误:

FileExistsError: [WinError 183] Cannot create a file when that file already exists: 'MAIN\\test_1'

我不确定我的逻辑和我的代码哪里出错了。我非常感谢您对此提供任何帮助。

这是我的代码的相关sn-p:

        self.counter = 1
        self.MAIN_folder = "MAIN"
        if not os.path.exists(self.MAIN_folder):
            os.makedirs(self.MAIN_folder)

        self.test_folder = os.path.join(self.MAIN_folder, "test")

        if not os.path.exists(self.test_folder):
            os.makedirs(self.test_folder + "_" + str(self.counter))
        else:
            self.counter += 1
            os.makedirs(self.test_folder + "_" + str(self.counter))

【问题讨论】:

  • 该错误消息非常简单。也许研究os.makedirs 并检查它是否可以接受可以提供帮助的论点?
  • 另外,您使用 os.path.exists 但与 os.makedirs 的参数不同,所以我不确定您期望发生什么

标签: python directory path


【解决方案1】:

问题是您没有先检查相关文件夹是否存在。您只检查self.test_folder,它绝不是您创建的文件夹,因此您的程序会不断尝试创建MAIN/test_1

【讨论】:

  • 谢谢。这就是我想要找出的——即我的逻辑哪里出了问题。
猜你喜欢
  • 2018-02-14
  • 2021-09-29
  • 2022-12-16
  • 2020-04-12
  • 2019-06-26
  • 2021-11-19
  • 2012-11-12
  • 1970-01-01
相关资源
最近更新 更多