LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1217|回复: 4

python: 怎样达到"ls *.tar"那样的效果?

[复制链接]
发表于 2006-2-28 14:59:14 | 显示全部楼层 |阅读模式
# ls *.tar
/root/backup.tar

# python
>>> import os
>>> os.listdir('./*.tar')
Traceback (most recent call last):
File "<stdin>", line 1, in ?
OSError: [Errno 2] No such file or directory: './*.tar'

这里的shell通配符不起作用,那么应该怎么做呢?

谢谢。
发表于 2006-2-28 21:30:41 | 显示全部楼层
os.listdir()的参数应该是路径名吧,在返回的list里面再匹配。tar
回复 支持 反对

使用道具 举报

发表于 2006-3-1 13:40:13 | 显示全部楼层
同意 wangbin, 路径最好用绝对路径。
回复 支持 反对

使用道具 举报

发表于 2006-3-1 13:42:51 | 显示全部楼层

  1. [fn for fn in os.listdir('E:\Irims\Bin') if fn.endswith('exe')]
  2. ['BIOA.exe', 'BIOA1.exe', 'BIOA3.exe', 'BIOA5.exe', 'BIOAX.exe', 'BIOAY.exe', 'DataExp.exe', 'DataImp.exe', 'DB2XML.exe', 'DesktopGis.exe', 'evUnpacketer.exe', 'ExecProc.exe', 'KBMS1.exe', 'Project1.exe', 'Project2.exe', 'RecvTemp.exe', 'SQL_BIOA.exe', 'super.exe', 'TempImpApp.exe', 'TemplateMaker.exe', 'Test.exe', 'testblob_2.exe', 'testblob_3.exe', 'thrddemo.exe', 'UpdateManager.exe', 'Urrp.exe', 'urrpd.exe', 'UrrpM.exe', 'UrrpMM.exe', 'Urrpx.exe', 'UrrpX3.exe', 'Urrp_Debug.exe', 'URRP_mm.exe', 'WFDesignMDI.exe']
  3. >>>
复制代码
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-3-1 14:53:54 | 显示全部楼层
可以使用 glob 或 fnmatch 模块。如
glob.glob('~/*.tar')
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表