python 创建同级目录问题
本帖最后由 haooooaaa 于 2014-12-05 13:58 编辑>>> os.listdir('/tmp/abc')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
OSError: No such file or directory: '/tmp/abc'
>>> os.system(r"mkdir -p /tmp/abc/{a,b,c}")
0
>>> os.listdir('/tmp/abc')
['{a,b,c}']
>>> subprocess.call(r'mkdir -p /tmp/abc/{a,b,c}', shell=True)
0
>>> os.listdir('/tmp/abc')
['{a,b,c}']如上, 在/tmp 创建目录 abc, 此目录 下再合建 a,b,c 但似乎不行,
直接在 shell 可以的,
python版本 2.7.3
系统ubuntu 12.04
直接shelluser@test:/tmp$ ls abc
{a,b,c}
user@test:/tmp$ mkdir -p abc/{a,b,c}
user@test:/tmp$ ls abc
a{a,b,c}bc >>> os.system(r"mkdir -p /tmp/abc/\{a,b,c\}")
0
>>>
>>> os.listdir('/tmp/abc')
['a', 'b', 'c', '{a,b,c}']
>>> >>> os.listdir('/tmp/abc')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
OSError: No such file or directory: '/tmp/abc'
>>> os.system(r"mkdir -p /tmp/abc/\{a,b,c\}")
0
>>> os.listdir('/tmp/abc')
['{a,b,c}']前面有加过 \ 也是一样的, 算了,直接循环创建了,,, 本帖最后由 haooooaaa 于 2014-12-05 14:19 编辑
无聊在 ruby的 irb 里面也试了一下,似乎一样的:irb(main):009:0> `ls /tmp/rubytest`
ls: cannot access /tmp/rubytest: No such file or directory
=> ""
irb(main):010:0> %x(mkdir -p /tmp/rubytest/\{a,b,c,d\})
=> ""
irb(main):011:0> `ls /tmp/rubytest`
=> "{a,b,c,d}\n"
irb(main):012:0> `mkdir -p /tmp/rubytest/\{a,b,c,d\}`
=> ""
irb(main):013:0> `ls /tmp/rubytest`
=> "{a,b,c,d}\n"
irb(main):014:0> system 'mkdir -p /tmp/rubytest/\{a,b,c,d\}'
=> true
irb(main):015:0> `ls /tmp/rubytest`
=> "{a,b,c,d}\n"ruby 版本
ruby 2.1.0p0 (2013-12-25 revision 44422) >>> os.listdir('/tmp/2')
[]
>>> os.system('mkdir /tmp/2/{a,b,c}')
0
>>> os.listdir('/tmp/2')
['c', 'a', 'b']
页:
[1]