获取Windows目录中的所有文件

30 投票
5 回答
71240 浏览
提问于 2025-04-16 15:32

我在Windows 7上有一个文件夹,里面有很多个.txt文件。请问怎么才能把这个文件夹里的所有文件列成一个清单呢?

5 个回答

15

在编程中,有时候我们需要把一些数据从一个地方传到另一个地方。这个过程就像是把水从一个水桶倒到另一个水桶一样。我们需要确保水不会洒出来,也就是数据在传输过程中不会丢失。

为了实现这个过程,程序员会使用一些工具和方法来帮助他们。比如,有些编程语言提供了特定的函数或者库,可以让我们更方便地处理这些数据的传输。

另外,数据传输的速度也很重要。如果水桶太小,水就会流得很慢;同样,如果我们的程序处理数据的速度太慢,用户就会觉得不够流畅。因此,优化数据传输的速度也是程序员需要考虑的一个方面。

总之,数据传输就像是在不同的水桶之间倒水,程序员需要确保水流顺畅,不会洒出来,同时也要尽量让这个过程快一点。

import os
import glob

os.chdir('c:/mydir')
files = glob.glob('*.txt')
18

这里所有的回答都没有提到一个问题,那就是如果你给 glob.glob() 传递一个Windows路径(比如说 C:\okay\what\i_guess\),它的运行结果可能不会如你所愿。相反,你应该使用 pathlib 来处理这个问题:

from pathlib import Path

glob_path = Path(r"C:\okay\what\i_guess")
file_list = [str(pp) for pp in glob_path.glob("**/*.txt")]
27

你可以使用 os.listdir(".") 来列出当前文件夹(".")里的所有内容:

for name in os.listdir("."):
    if name.endswith(".txt"):
        print(name)

如果你想把所有内容放到一个Python的列表里,可以使用 列表推导式

a = [name for name in os.listdir(".") if name.endswith(".txt")]

撰写回答