【问题标题】:how to check if folder exist and create folder using python如何检查文件夹是否存在并使用python创建文件夹
【发布时间】:2021-06-14 09:37:56
【问题描述】:

如何检查文件夹是否存在,如果不存在则创建它?

import os
from datetime import datetime

file_path = "F:/TEST--"
if os.path.exists(file_path):
    os.rmdir(file_path)
    os.makedirs(file_path + datetime.now().strftime('%Y-%m-%d'))
else:
    os.makedirs(file_path + datetime.now().strftime('%Y-%m-%d'))

【问题讨论】:

  • 你有什么问题?
  • 如果已经存在则不创建文件夹

标签: python directory


【解决方案1】:

os.path.exists(file_path) 检查文件夹TEST-- 是否存在,而不是检查TEST--date 是否存在,因此永远不会调用os.rmdir(file_path)。在if之前设置文件夹名称

file_path = 'F:/TEST--' + datetime.now().strftime('%Y-%m-%d')
if os.path.exists(file_path):
    os.rmdir(file_path)
os.makedirs(file_path)

如果文件夹中有文件需要先删除或者使用shutil

shutil.rmtree(file_path)

【讨论】:

    【解决方案2】:

    你可以使用exist_ok参数设置为True.then if folder exists.python将什么都不做。

    import os
    from datetime import datetime
    file_path = "F:/TEST--"
    if os.path.exists(file_path):
        os.rmdir(file_path)
    
    os.makedirs(file_path + datetime.now().strftime('%Y-%m-%d'),exist_ok=True)
    

    【讨论】:

      【解决方案3】:

      在 Python >= 3.5 上,您可以使用 pathlib.Path.mkdir。注意exist_ok=True 参数。

      from pathlib import Path
      from datetime import datetime
      
      file_path = 'F:/TEST--' + datetime.now().strftime('%Y-%m-%d')
      Path(file_path).mkdir(parents=True, exist_ok=True)
      

      使用 Pathlib 使您的代码独立于操作系统,并且如果您决定稍后迁移到另一个操作系统,也不会中断。

      PS:建议避免在代码中使用硬编码路径,例如F:/TEST--

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-01-15
        • 2014-06-10
        • 1970-01-01
        • 2016-05-04
        • 1970-01-01
        • 2013-03-12
        • 2021-07-08
        相关资源
        最近更新 更多