mkdir.py

来自「xen虚拟机源代码安装包」· Python 代码 · 共 45 行

PY
45
字号
#============================================================================# This library is free software; you can redistribute it and/or modify# it under the terms of the GNU Lesser General Public License as published by# the Free Software Foundation; either version 2.1 of the License, or# (at your option) any later version.## This library is distributed in the hope that it will be useful,# but WITHOUT ANY WARRANTY; without even the implied warranty of# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the# GNU Lesser General Public License for more details.## You should have received a copy of the GNU Lesser General Public License# along with this library; if not, write to the Free Software# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA#============================================================================# Copyright (c) 2006 XenSource Inc.#============================================================================import errnoimport osimport os.pathimport statdef parents(dir, perms, enforcePermissions = False):    """    Ensure that the given directory exists, creating it if necessary, but not    complaining if it's already there.        @param dir The directory name.    @param perms One of the stat.S_ constants.    @param enforcePermissions Enforce our ownership and the given permissions,    even if the directory pre-existed with different ones.    """    # Catch the exception here, rather than checking for the directory's    # existence first, to avoid races.    try:        os.makedirs(dir, perms)    except OSError, exn:        if exn.args[0] != errno.EEXIST or not os.path.isdir(dir):            raise    if enforcePermissions:        os.chown(dir, os.geteuid(), os.getegid())        os.chmod(dir, stat.S_IRWXU)

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?