我正在尝试在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的文件夹中子文件夹的默认权限
答案 0 :(得分:1)
我认为它可以缩短一点。您不需要明确的0755
我不会想到,因为这是典型的默认设置。所以我认为可以简单地消除这些界限:
# creating rootName directory
os.makedirs(home_path , 0755)
os.makedirs(data_path , 0755)
home_path
和data_path
将通过您对os.makedirs
的后续调用创建。
但是,如果您确实需要偏离home_path
和data_path
顶级的默认权限,则需要保留这些调用并相应地设置权限。