Es leckt alle Dateien unter dem angegebenen Verzeichnis und gibt nur den Dateipfad der Datei mit der gewünschten Erweiterung als Generator zurück. Sie können os.walk
verwenden.
Ich denke, es ist eine Operation, die ich oft benutze, aber ich vergesse sofort, wie man sie schreibt, also werde ich sie als Memo zu einer Funktion für die Zukunft machen. Es kann sowohl mit Python 2 als auch mit Python 3 verwendet werden.
import os
def walk_files_with(extension, directory='.'):
"""Generate paths of all files that has specific extension in a directory.
Arguments:
extension -- [str] File extension without dot to find out
directory -- [str] Path to target directory
Return:
filepath -- [str] Path to file found
"""
for root, dirnames, filenames in os.walk(directory):
for filename in filenames:
if filename.lower().endswith('.' + extension):
yield os.path.join(root, filename)
Eigentlich wird es so verwendet.
for filepath in walk_files_with('csv', './data/'):
print(filepath)
Wenn Sie Python 3.4 oder höher haben, ist es möglicherweise klüger, "pathlib" zu verwenden.
Recommended Posts