os.path.walk 在 python 3 里不存在了

今天想运行一个以前写的Python 脚本, 解释器是Python 3.7的, 发现os.path.walk 没了。 在Python 2.7 下, os.path.walk 用来遍历一个目录, 并调用一个回调函数, 用来做需要的事情:

    def recurse_dir(self):                                                           
        "recurse the directory, finding the largest file"
        #import os                                       
        os.path.walk(self.directory,self.get_sizes,None)

这里使用回调函数, 还要传一个参数列表给它。

在Python 3 里, os.walk 取代了os.path.walk, 而且不使用回调函数:

import os
from os.path import join
for root, dirs, files in os.walk('.'):
    for name in files:
        print(join(root,name))

我觉得这样写出的代码更清晰。

你可能感兴趣的:(Python)