python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > Python获取文件夹所有文件

利用Python获取文件夹下所有文件实例代码

作者:琲世

在处理数据的过程中经常需要遍历文件夹,如果远程服务器的文件是分布式存储,遍历需要更快的速度,下面这篇文章主要给大家介绍了关于利用Python获取文件夹下所有文件的相关资料,需要的朋友可以参考下

前言

使用Python获取文件夹下的所有文件时,存在多种方式。

1. os.listdir

os.listdir:参数为文件夹路径,可以返回文件夹下的所有子文件夹、文件名称。

示例:

import os

path = 'D:\Workspace'
for file_name in os.listdir(path):
    print(file_name)

注意,不能返回子文件夹下的文件,并且仅返回名称。

2. os.walk

os.walk:参数为文件夹路径,返回3个内容:绝对路径、子文件夹、文件名。 此方法可以遍历文件夹下的所有文件、子文件及内的所有文件:

例如:

D:/workspace/folder/text1.txt
D:/workspace/folder/text2.txt

此方法在输入的path为D:/workspace时,第一次遍历会获取/workspace下的所有文件和文件夹;第二次遍历会获取/workspace/folder下的所有文件和文件夹。因此需要对结果进行循环,以获取所有文件。

示例:

import os

path = 'D:\Workspace'
for root, dirs, files in os.walk(path):
    print(root)
    print(dirs)
    print(files)

返回:

D:\Workspace
['folder']
[]
D:\Workspace\folder
[]
['text1.txt', 'text2.txt']

3. glob.glob

glob:参数为路径以及文件过滤条件,若不设置过滤需填写为*,此函数会返回包括路径的文件夹和文件名

示例:

import glob

path = 'D:\Workspace\folder\*'
for file_abs in glob.glob(path):
    print(file_abs)

返回:

D:\Workspace\folder\text1.txt
D:\Workspace\folder\text2.txt

注意,不能返回子文件夹下的文件,并且返回文件名与绝对路径。

附:Python获取指定目录下的文件夹名列表和文件名列表

import os
 
# enter of program
if __name__ == '__main__':
    # input
    input_path = 'D:/data/pycodes/books/'
 
    # initialize
    dir_list = []
    file_list = []
 
    # process
    for root, dirs, files in os.walk(input_path):
        dir_list = dirs
        file_list = files
        break
 
    # output
    print(dir_list, len(dir_list))
    print(file_list, len(file_list))

总结

到此这篇关于利用Python获取文件夹下所有文件的文章就介绍到这了,更多相关Python获取文件夹所有文件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文