如何在Python中列出目录内容?

如何在Python中列出目录内容?

在Python中,我们可以使用os模块或者os.path模块来列出目录内容。这两个模块提供了许多函数,可以用于文件和目录的操作。

更多Python教程,请阅读:Python 教程

使用os模块列出目录内容

使用os模块中的listdir函数可以列出一个目录下的所有文件和子目录。

import os

dir_path = '.'   # 目录路径

files = os.listdir(dir_path)

for file in files:
    print(file)

运行上述代码后,将会打印出当前目录下的所有文件和子目录。

如果只需要列出某种类型的文件,可以使用os.path模块中的splitext函数来过滤文件类型。

import os

dir_path = '.'   # 目录路径

for file in os.listdir(dir_path):
    if os.path.splitext(file)[-1].lower() == '.txt':  # 只列出扩展名为txt的文件
        print(file)

使用os.path模块列出目录内容

使用os.path模块,在os模块中的listdir函数的基础上,我们可以使用isfile和isdir函数来分别判断一个文件或目录是否为文件或目录类型。

import os

dir_path = '.'   # 目录路径

for file in os.listdir(dir_path):
    file_path = os.path.join(dir_path, file)
    if os.path.isfile(file_path):   # 判断是否为文件类型
        print('File:', file)
    elif os.path.isdir(file_path):  # 判断是否为目录类型
        print('Directory:', file)

通过上述代码,我们可以分别打印出当前目录下的文件和子目录,并区分它们的类型。

同时,我们还可以使用os.path模块中的split函数来获取文件名和扩展名,从而进一步处理目录内容。

import os

dir_path = '.'   # 目录路径

for file in os.listdir(dir_path):
    file_path = os.path.join(dir_path, file)
    if os.path.isfile(file_path):
        filename, fileext = os.path.splitext(file)  # 获取文件名和扩展名
        print('File name:', filename)
        print('File extension:', fileext)
    elif os.path.isdir(file_path):
        print('Directory:', file)

使用glob模块列出目录内容

除了使用os模块和os.path模块,我们还可以使用glob模块来列出目录内容。glob模块提供了一个glob函数,用于匹配符合条件的文件和目录。

import glob

dir_path = '.'   # 目录路径

files = glob.glob(dir_path + '/*')  # 匹配所有文件和子目录

for file in files:
    print(file)

上述代码将列出当前目录下的所有文件和子目录。

如果需要列出所有某种类型的文件,可以使用glob函数的通配符和os.path模块中的splitext函数来指定匹配规则。

import glob
import os

dir_path = '.'   # 目录路径

files = glob.glob(os.path.join(dir_path, '*.txt'))  # 匹配所有扩展名为txt的文件

for file in files:
    print(file)

结论

Python提供了许多模块和函数来操作文件和目录。在列出目录内容时,我们可以使用os模块、os.path模块或者glob模块。通过这些模块和函数,可以方便地列出目录下的所有文件和子目录,并进行进一步的操作。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程