我只需要使用 python 创建一个目录
os.system('mkdir ' + sub_dir)
与
sub_dir = ('x_y_prior=' + str(not use_est_centroid) +
'_randomized_x_y=' + str(randomize) +
'_sep=' + str(separation) +
'_num_trial_arr=' + str(num_trial_arr) +
'_seed_arr=' + str(seed_arr) +
'_image_params=' + str(image_params) +
'_obj_a_info=' + str(obj_a) +
'_obj_b_info=' + str(obj_a))
变量由数组组成。现在的问题是,当我尝试执行此操作时,该命令会创建许多目录,并以每个数组的各个元素作为名称。
例如,如果
separation = [1.2,1.4]
然后我会得到两个名为
的目录1.2/
和
1.4/
我只想要一个包含上面整个字符串名称的目录。
最佳答案
您不是在 Python 中创建目录,而是要求命令 shell 执行命令 mkdir
来创建目录。现在的问题是命令 shell 可以将某些字符解释为元字符 - 例如我在 Linux 上使用 zsh
shell,如果我执行:
os.system("mkdir foo{1.2,1.4}bar")
(不是 [
而是 {
),我最终会得到 2 个目录: foo1.2bar
和 foo1.4bar
,因为这就是 {a,b,c}
在 zsh
上的行为方式。
现在的解决方案当然是使用python来创建这个目录:
os.mkdir("foo{1.2,1.4}bar")
我们最终得到一个名为 foo{1.2,1.4}bar
的目录。
因此,根据您的情况,请执行
os.mkdir(sub_dir)
关于python - 创建一个以数组字符串作为名称的目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29453114/