os.walk获取目录中所有文件

Posted 好好学习,天天向上。

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了os.walk获取目录中所有文件相关的知识,希望对你有一定的参考价值。

一.遍历获取目录及子目录下的文件名
os.walk(filepath, topdown=False)
filepath:需要遍历的目录地址,返回一个三元素的元组(root,dirs,files)

  • root 是当前正在遍历父文件夹的地址
  • dirs 是一个列表,内容是父目录中所有的文件夹的名字(不包括子目录下的文件夹)
  • files 是一个列表 , 内容是该父目录中所有的文件(不包括子目录下的文件)

topdown :优先遍历的目录,为True时优先遍历父目录,为False时优先遍历子目录,默认True

示例:

def get_fileinfo_test(filepath1):
filenamelist=[] #声明一个文件名列表
for root, dirs, files in os.walk(filepath1, topdown=True):
for name in files:
filenamelist.append(os.path.join(name)) #将获取的文件名添加到文件名列表中
print(len(filenamelist),filenamelist) #打印最终获取的文件名的个数和文件名列表
 
 

os.listdir()os.walk()和os.mkdir()的用法

内容主要参照博客https://blog.csdn.net/xxn_723911/article/details/78795033

http://www.runoob.com/python/os-walk.html

  • os.listdir(path=‘‘)--获取文件路径

其中参数path为需要列出的目录路径,该函数返回指定路径下所有文件和文件夹的名字,并存放在一个列表中

  • os.walk()--遍历文件或目录

os.walk()方法是一个简单易用的文件、目录遍历器,可以帮助我们高效地处理文件、目录方面的事情

os.walk()方法的语法如下

walk(top, topdown=True, onerror=None, followlinks=False)

参数解释如下

top -- 是你所要遍历的目录的地址, 返回的是一个三元组(root,dirs,files)。

  (1)root 所指的是当前正在遍历的这个文件夹的本身的地址

    (2) dirs 是一个 list ,内容是该文件夹中所有的目录的名字(不包括子目录)

    (3) files 同样是 list , 内容是该文件夹中所有的文件(不包括子目录)

    (4) topdown --可选,为 True,则优先遍历 top 目录,否则优先遍历 top 的子目录(默认为开启)。如果 topdown 参数为 True,walk 会遍历top文件夹,与top 文件夹中每一个子目录。

   (5) onerror -- 可选,需要一个 callable 对象,当 walk 需要异常时,会调用。 

   (6) followlinks -- 可选,如果为 True,则会遍历目录下的快捷方式(linux 下是软连接 symbolic link )实际所指的目录(默认关闭),如果为 False,则优先遍历 top 的子目录。

  • os.mkdir()函数--创建目录(创建一级目录)

其语法格式如下

os.mkdir(path)

 

其参数path为要创建的目录的路径

 

以上是关于os.walk获取目录中所有文件的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Python 中使用 os.walk 获取特定文件或目录列表?

【Python】os.walk的使用及获取文件夹下所有文件的大小

如何获取目录下的文件数(一行Python)

使用 os.walk() 将目录中的所有 .txt 文件移动到新文件夹?

Python之os模块 (文件/目录方法)

os模块