我有一个脚本,它使用它的主目录中的一些目录。第一步是使用os.path.join()为这些目录分配变量名。但是,如果目录不存在,我需要创建它。我事先不知道哪些目录存在,哪些目录不存在。我提出的解决方案是:
homepath = os.path.abspath(os.path.dirname(sys.argv[0]))
def make_dir(var_name,dir_name):
var_name = os.path.join(homepath,dir_name)
if os.path.exists(var_name) == False:
os.mkdir(var_name)
return var_name
pathnames = ['bands','clipfiles','ndvi','ndmi','masked','clipped','upsampled','stats_csv']
path_to_bands = make_dir(path_to_bands, pathnames[0])
path_to_clipfiles = make_dir(path_to_clipfiles, pathnames[1])
path_to_ndvi = make_dir(path_to_ndvi, pathnames[2])
path_to_波段、path_to_剪辑文件等是我稍后将在脚本中使用的文件夹。但是,我现在需要为分配给变量的每个目录编写一行代码。有没有办法把path\u-to\u带、path\u-to\u clipfiles等列成一个列表,并在上面循环几行?实际上,我有很多目录,我不想让它不必要地填满我的脚本
谢谢
^{} 非常适合您的用例。通过传递参数
exist_ok=True
,您不必检查目录是否预先存在。它还以递归方式创建目录,因此您只需指定底层目录相关问题 更多 >
编程相关推荐