首页 话题 小组 问答 好文 用户 我的社区 域名交易 唠叨

[教程]揭秘Python高效技巧:轻松一招,快速获取当前所有文件与目录清单

发布于 2025-07-10 06:30:47
0
905

在Python中,获取当前目录下的所有文件与目录清单是一个常见的任务。这不仅有助于文件管理,也在编写自动化脚本时非常有用。下面,我将向您介绍一种高效的方法来获取当前目录下的所有文件和目录清单。使用os...

在Python中,获取当前目录下的所有文件与目录清单是一个常见的任务。这不仅有助于文件管理,也在编写自动化脚本时非常有用。下面,我将向您介绍一种高效的方法来获取当前目录下的所有文件和目录清单。

使用os模块

Python的os模块提供了与操作系统交互的功能。其中,os.listdir()方法可以用来获取指定目录下的所有文件和目录的名称。

基本用法

import os
# 获取当前目录下的所有文件和目录名称
files_and_dirs = os.listdir('.')
print(files_and_dirs)

上述代码中,.表示当前目录。执行后,您会得到一个包含所有文件和目录名称的列表。

深度遍历

如果需要获取所有子目录下的文件和目录清单,可以使用os.walk()方法。这是一个更高级的函数,它允许您遍历指定目录及其所有子目录。

基本用法

import os
# 遍历当前目录及其所有子目录
for dirpath, dirnames, filenames in os.walk('.'): for filename in filenames: print(os.path.join(dirpath, filename))

这个例子中,os.walk('.')会返回一个三元组(dirpath, dirnames, filenames),分别代表当前遍历到的目录路径、该目录下的子目录列表以及文件列表。通过迭代这个三元组,我们可以获取到当前目录及其所有子目录下的文件和目录名称。

排序

默认情况下,os.listdir()os.walk()返回的文件和目录名称是无序的。如果需要按特定顺序排列,可以使用列表推导式和内置函数sorted()来实现。

按名称排序

import os
# 按名称排序当前目录下的所有文件和目录
sorted_files_and_dirs = sorted(os.listdir('.'))
print(sorted_files_and_dirs)

按文件大小排序

import os
# 按文件大小排序当前目录下的所有文件
files_and_dirs = [(os.path.join('.', filename), os.path.getsize(os.path.join('.', filename))) for filename in os.listdir('.')]
sorted_files_and_dirs = sorted(files_and_dirs, key=lambda x: x[1], reverse=True)
for filename, size in sorted_files_and_dirs: print(f"{filename}: {size} bytes")

在这个例子中,我们使用os.path.getsize()方法来获取文件的大小,并将其作为排序的依据。

总结

通过使用Python的os模块,我们可以轻松获取当前目录及其所有子目录下的文件和目录清单。os.listdir()适用于获取基本列表,而os.walk()则允许我们进行深度遍历。此外,我们还可以根据需要对结果进行排序。这些技巧不仅有助于文件管理,还可以在编写脚本时提高效率。

评论
一个月内的热帖推荐
csdn大佬
Lv.1普通用户

452398

帖子

22

小组

841

积分

赞助商广告
站长交流