今天看 Python 文档才偶然发现,在os下增加了一个walk函数。而原来在os.path下已经有一个walk了。那么这两个有什么区别呢。
os下的walk是2.3版中新增的。它是一个产生式,每次产生会你会得到一个三元tuple。第一个为起始路径,第二个为起始路径下的目录,第三个是起始路径下的,不带路径名的文件名列表。
而os.path下的walk是一个老函数,它需要传入一个回调函数来处理得到的目录、文件信息。
limodou是一个程序员,他关心的焦点是Python, DocBook, Open Source …
今天看 Python 文档才偶然发现,在os下增加了一个walk函数。而原来在os.path下已经有一个walk了。那么这两个有什么区别呢。
os下的walk是2.3版中新增的。它是一个产生式,每次产生会你会得到一个三元tuple。第一个为起始路径,第二个为起始路径下的目录,第三个是起始路径下的,不带路径名的文件名列表。
而os.path下的walk是一个老函数,它需要传入一个回调函数来处理得到的目录、文件信息。
我刚学python就用过os.walk了!
dreamingk —— 2004年09月03日 @8:40 pm
我学的时候是2.0版,那时os模块没有walk函数,只有os.path有walk函数。
limodou —— 2004年09月03日 @8:58 pm
Python好学吗??
guiyalei@eyou.com
磊磊 —— 2004年09月04日 @9:52 am
好学。
limodou —— 2004年09月04日 @10:42 am
this function very slow!
use ‘listdir isdir isfile’ instead!
muyufan —— 2008年03月05日 @9:13 am
我目前遇到一个问题就是Windows下的超长文件名,由于目录结构可能很深,文件名可能很长,在walk的时候会报“文件名太长”的异常。
导出找获取 8.3 文件名 的方法,没找到,它在list的时候能不能就直接使用8.3呢?
张郎 —— 2008年07月22日 @4:58 pm