乐闻世界logo
搜索文章和话题

How do I list all files of a directory using python?

4 个月前提问
3 个月前修改
浏览次数29

1个答案

1

在 Python 中,我们可以使用 os 模块来列出某个目录中的所有文件。os 模块提供了一系列的方法来与操作系统交互,例如读取文件、遍历目录等。下面是一个使用 os 模块中的 os.listdir() 方法列出指定目录中所有文件(包括目录)的例子:

python
import os def list_files(directory): # 确保提供的路径存在 if os.path.exists(directory): # os.listdir(directory) 会列出目录中的所有文件和目录 files = os.listdir(directory) # 打印所有文件和目录 for file in files: print(file) else: print("提供的目录不存在") # 假定我们要列出当前目录中的文件 current_directory = '.' list_files(current_directory)

在上面的例子中,我们首先导入了 os 模块。我们定义了一个函数 list_files(),它接受一个参数 directory,这是我们想要列出文件的目录的路径。在函数内部,我们首先检查这个路径是否存在(使用 os.path.exists())。如果路径存在,我们调用 os.listdir(directory) 来获取目录中的所有文件和子目录,然后遍历这个列表,打印出每个元素的名称。

这个方法会列出所有文件和子目录,如果你只想列出文件,可以在遍历中加入一个检查来确定哪些是文件:

python
import os def list_files_only(directory): # 确保提供的路径存在 if os.path.exists(directory): # os.listdir(directory) 会列出目录中的所有文件和目录 items = os.listdir(directory) # 使用 os.path.isfile 来检查是否为文件 files = [item for item in items if os.path.isfile(os.path.join(directory, item))] # 打印所有文件 for file in files: print(file) else: print("提供的目录不存在") # 假定我们要列出当前目录中的文件 current_directory = '.' list_files_only(current_directory)

在这个修改版的函数中,我们使用了列表推导和 os.path.isfile() 方法来筛选出只是文件的那些项,然后打印这些文件。

2024年6月29日 12:07 回复

你的答案