【问题标题】:Is there a way to ensure that a group of directories is created, without having to declare the path?有没有办法确保创建一组目录,而不必声明路径?
【发布时间】:2020-03-10 16:08:26
【问题描述】:

我想检查一个目录是否存在(如果不存在则创建它),而不必声明该目录。

import os

GROUPS_MANAGERS = '/staff/Managers'
GROUPS_SALESASSOCIATE = '/staff/Salesman'
GROUPS_CASHIERS = '/staff/Cashiers'
GROUPS_STOCKERS = '/staff/Stockers'


if not os.path.isdir(): #how do i make it so it can check if ANY directory exists
    os.mkdir(GROUPS_MANAGERS) 
    os.mkdir(GROUPS_SALESASSOCIATE) 
    os.mkdir(GROUPS_CASHIERS) 
    os.mkdir(GROUPS_STOCKERS) 

【问题讨论】:

  • 您想仅在目录都不存在时创建目录,还是要检查并创建每个目录?
  • 如果它们都不存在就创建它们

标签: python file directory path python-3.6


【解决方案1】:

假设我正确理解了您的问题:

import os 

GROUPS_MANAGERS = '/staff/Managers'
GROUPS_SALESASSOCIATE = '/staff/Salesman'
GROUPS_CASHIERS = '/staff/Cashiers'
GROUPS_STOCKERS = '/staff/Stockers'

for p in (GROUPS_MANAGERS, GROUPS_SALESASSOCIATE, GROUPS_CASHIERS, GROUPS_STOCKERS):
    os.makedirs(p, exist_ok=True)

这会创建您的每个目录,如果其中任何一个已经存在,则不会产生错误。

【讨论】:

    【解决方案2】:

    我确信这个问题之前在 stackoverflow 上已经被问过,但是你去吧。

    借自MrBean的评论

    import os
    os.makedirs('my_folder',exist_ok=True)
    

    【讨论】:

    • 在 Python 3 上,您可以使用 os.makedirs(path, exist_ok=True)
    • @MrBeanBremen,简单干净。竖起大拇指!
    猜你喜欢
    • 2013-01-08
    • 2015-06-05
    • 2016-04-28
    • 2012-06-24
    • 1970-01-01
    • 2020-06-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多