使用 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_path
和 data_path
将由您对 os.makedirs
.
的后续调用创建
但是,如果您确实需要偏离 home_path
和 data_path
顶层的默认权限,那么您需要保留这些调用并相应地设置权限。
我正在尝试在 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_path
和 data_path
将由您对 os.makedirs
.
但是,如果您确实需要偏离 home_path
和 data_path
顶层的默认权限,那么您需要保留这些调用并相应地设置权限。