我有这个代码:
def traverse_dir(fd):
for dir_path,subpaths,files in os.walk(fd):
print dir_path,subpaths
for file in files:
print "file:%s" %file
def traverse_func(arg,dirname,files):
print dirname
for file in files:
print "file:%s" %file
os.path.walk(r".",traverse_func,())
我应该使用os.walk()
还是{
或者还有其他更好的方法吗?在
这取决于您使用的Python版本。在python2中有
os.path.walk()
(docs),但在python3中,它已被弃用并被os.walk()
(docs)取代。在您声称在注释中使用的Python(x,y)seems to be based on Python 2。在
在手术室步行(dir)返回必须解包的元组。在
其实很简单。在
对于Python 3.6+版本,您可以稍微简化一下:
^{pr2}$^{} 函数已弃用,在Python3中不再可用。因为这个原因,你应该更喜欢^{} 。在
os.walk()
也可以通过将followlinks
参数设置为True
来跟踪指向目录的符号链接。要对os.path.walk()
执行同样的操作,您必须特别检查每个目录是否是一个sym链接,然后自己解析它。对于os.walk()
,还有几个其他可能有用的选项,因此总体上,选择它而不是os.path.walk()
。在相关问题 更多 >
编程相关推荐