获取Windows目录中的每个文件

rec*_*gle 17 python windows directory

我在Windows 7中有一个包含多个.txt文件的文件夹.如何将所述目录中的每个文件作为列表获取?

Gre*_*ill 16

您可以使用os.listdir(".")列出当前目录的内容("."):

for name in os.listdir("."):
    if name.endswith(".txt"):
        print(name)
Run Code Online (Sandbox Code Playgroud)

如果您希望将整个列表作为Python列表,请使用列表推导:

a = [name for name in os.listdir(".") if name.endswith(".txt")]
Run Code Online (Sandbox Code Playgroud)


Sea*_*123 8

这里的所有答案都没有解决这样一个事实:如果您传递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")]
Run Code Online (Sandbox Code Playgroud)


Hug*_*ell 7

import os
import glob

os.chdir('c:/mydir')
files = glob.glob('*.txt')
Run Code Online (Sandbox Code Playgroud)

  • 为什么os.chdir?考虑`glob.glob(r'c:\ mydir\*.txt')` (7认同)
  • 这也是一种方法,可以在没有不必要的任何副作用的情况下改变当前工作主任[y | ies]之一. (4认同)