Find all files in a directory with extension .txt in Python


Question

How can I find all the files in a directory having the extension .txt in python?

1
1043
4/12/2017 3:56:53 PM

Accepted Answer

You can use glob:

import glob, os
os.chdir("/mydir")
for file in glob.glob("*.txt"):
    print(file)

or simply os.listdir:

import os
for file in os.listdir("/mydir"):
    if file.endswith(".txt"):
        print(os.path.join("/mydir", file))

or if you want to traverse directory, use os.walk:

import os
for root, dirs, files in os.walk("/mydir"):
    for file in files:
        if file.endswith(".txt"):
             print(os.path.join(root, file))
2031
2/23/2017 10:16:20 AM

Use glob.

>>> import glob
>>> glob.glob('./*.txt')
['./outline.txt', './pip-log.txt', './test.txt', './testingvim.txt']

Licensed under: CC-BY-SA with attribution
Not affiliated with: Stack Overflow
Icon