免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 4646 | 回复: 10
打印 上一主题 下一主题

os.system 不能创建多个目录 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-08-07 11:03 |只看该作者 |倒序浏览
请教大家一个问题
在shell里面 {}可以同时创建多个目录
$ mkdir -p t1/{1,2}
$ ls t1
1  2

现在我在python里面用os.system('mkdir -p t1/{1,2}')
结果创建出的目录是
$ ls t1
{1,2}

大家知道如何在python里面比较简单的实现shell那个同时创建多个目录的方法吗? 除了下面的方法

for i in 1,2:
  os.mkdir(i)

多谢大家!

论坛徽章:
0
2 [报告]
发表于 2009-08-07 11:26 |只看该作者
os.system('mkdir -p t1/{1,2}')的结果和shell下是一致的

论坛徽章:
0
3 [报告]
发表于 2009-08-07 11:35 |只看该作者
原帖由 Lonki 于 2009-8-7 11:26 发表
os.system('mkdir -p t1/{1,2}')的结果和shell下是一致的


找到原因了 我freebsd上面的python版本太低 Python 2.4.3
生成的是目录{1,2}

而我的fedora上面的python是 Python 2.6
生成的是目录1 2

多谢大家.

论坛徽章:
1
天蝎座
日期:2013-10-23 21:11:03
4 [报告]
发表于 2009-08-07 11:41 |只看该作者

回复 #1 humanzhang 的帖子

你再试试

论坛徽章:
0
5 [报告]
发表于 2009-08-07 11:56 |只看该作者
os.system会启动一个shell环境的,这个结果和具体的shell实现有关,和python版本无关

论坛徽章:
1
天蝎座
日期:2013-10-23 21:11:03
6 [报告]
发表于 2009-08-07 12:06 |只看该作者
原帖由 3227049 于 2009-8-7 11:56 发表
os.system会启动一个shell环境的,这个结果和具体的shell实现有关,和python版本无关



学习

论坛徽章:
0
7 [报告]
发表于 2009-08-07 12:47 |只看该作者
原帖由 3227049 于 2009-8-7 11:56 发表
os.system会启动一个shell环境的,这个结果和具体的shell实现有关,和python版本无关

但是我在freebsd的shell里执行 mkdir -p t1/{1,2} 能够成功的生成目录1和目录2阿

论坛徽章:
0
8 [报告]
发表于 2009-08-07 13:11 |只看该作者
原帖由 humanzhang 于 2009-8-7 12:47 发表

但是我在freebsd的shell里执行 mkdir -p t1/{1,2} 能够成功的生成目录1和目录2阿


你在shell下面echo $0

和在python下
import os
os.system("echo $0")
看看是不是一致

论坛徽章:
0
9 [报告]
发表于 2009-08-07 13:14 |只看该作者
原帖由 3227049 于 2009-8-7 13:11 发表


你在shell下面echo $0

和在python下
import os
os.system("echo $0")
看看是不是一致


果然不一样 默认的shell是 tcsh, python里面的是 sh.
多谢您了 受教了

论坛徽章:
0
10 [报告]
发表于 2009-08-07 16:07 |只看该作者
os.makedirs
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP