使用 os.makedirs() 时子文件夹的权限

Permission of subfolders when using os.makedirs()

我正在尝试在 UNIX 上使用 Python 创建一个目录。

这是我的代码:

import os, sys

if len(sys.argv) > 2:
    print "USAGE : createDir <codeset>"
    sys.exit()

rootName= sys.argv[1]

# setting $HOME and $DATA path
home_path = "/opt/app/" + rootName+ "/"
data_path = "/data/app/" + rootName + "/"

# creating rootName directory
os.makedirs(home_path , 0755)
os.makedirs(data_path , 0755)

# create data and log folder in data_path
os.makedirs(data_path + "data")
os.makedirs(data_path + "log")

# create J2SEDomain and scripts folders
os.makedirs(home_path + "J2SEDomain")
os.makedirs(home_path + "scripts")

print "All folders created successfully."

现在我想知道我为 rootName 文件夹设置的权限是否适用于其中的所有子文件夹,还是仅适用于 rootName 文件夹。

还请告诉我如何高效地编写上述代码,因为我是 Python 的新手。

编辑:我没有明确检查权限,而是询问权限设置为 0755 的文件夹中的子文件夹的默认权限是什么

我觉得可以缩短一点。你不需要明确的 0755 我不认为,因为这是典型的默认设置。所以我认为这些行可以简单地删除:

# creating rootName directory
os.makedirs(home_path , 0755)
os.makedirs(data_path , 0755)

home_pathdata_path 将由您对 os.makedirs.

的后续调用创建

但是,如果您确实需要偏离 home_pathdata_path 顶层的默认权限,那么您需要保留这些调用并相应地设置权限。