当前位置:  开发笔记 > 编程语言 > 正文

在Python中寻找类似Java的文件遍历函数

如何解决《在Python中寻找类似Java的文件遍历函数》经验,为你挑选了2个好方法。

在Java中,您可以执行File.listFiles()并接收目录中的所有文件.然后,您可以轻松地通过目录树进行递归.

在Python中有类似的方法吗?



1> dmeister..:

就在这里.Python的方式更好.

有三种可能性:

1)像File.listFiles():

Python具有os.listdir(path)功能.它的工作方式与Java方法类似.

2)使用glob进行路径名模式扩展:

模块glob包含使用Unix shell模式在文件系统上列出文件的函数,例如

files = glob.glob('/usr/joe/*.gif')

import os
from os.path import join
for root, dirs, files in os.walk('/usr'):
   print "Current directory", root
   print "Sub directories", dirs
   print "Files", files
您甚至可以动态删除"dirs"中的目录以避免走到该目录:如果dirs中的"joe":dirs.remove("joe")以避免进入名为"joe"的目录.

listdir和walk记录在这里.glob记录在这里.



2> Max Maximus..:

作为一个长期的Pythonista,我不得不说std库中的路径/文件操作函数是低于标准的:它们不是面向对象的,它们反映了一个过时的,自我包装的OS系统函数 - 没有 - 思想哲学.我衷心地推荐'path'模块作为包装器(如果你必须知道的话,可以使用os,os.path,glob和tempfile):更好更多和OOPy:http://pypi.python.org/pypi/path.py /2.2

这是带路径模块的walk():

dir = path(os.environ['HOME'])
for f in dir.walk():
    if f.isfile() and f.endswith('~'):
        f.remove()

推荐阅读
手机用户2402852307
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有