我只需要使用
在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/
我只想要一个目录,其名称为上面的整个字符串。
答案 0 :(得分:1)
您没有在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)