获取Windows目录中的所有文件
我在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")]