しょっちゅう忘れることを書いておく。
![]() |
66 |
187 views
指定したディレクトリ配下のファイル一覧を取得するクラス。
# coding: UTF-8
import os
def get_extension(file_name):
"""
拡張子を取得する
:param file_name: ファイルパス
:return: 拡張子
"""
_, extension = os.path.splitext(file_name)
return extension
def is_allow_ext(allow_ext_list, file_path):
"""
allow_ext_listに登録した拡張と同じ拡張子の場合True,
全て異なる場合はFalseを返す
:param allow_ext_list:リスト形式で許可する拡張子を指定する
:param ext: ファイル名
:return:
"""
ret = False
ext = get_extension(file_path)
for allow_ext in allow_ext_list:
allow_ext = allow_ext.replace(".", "")
ext = ext.replace(".", "")
if allow_ext == ext:
ret = True
break
return ret
class FileFinder(object):
"""
検索対象のディレクトリ、またはURLのリストを作成します。
"""
def __init__(self):
self.file_names = []
def crawl(self, directory, allow_ext_filter=None):
"""
ルートディレクトリ配下のファイル一覧を取得する
:param directory: 検索するルートディレクトリ
:param allow_ext_filter: 検索の対象とする拡張子
:return:
"""
self.file_names = []
for root, dirs, files in os.walk(directory):
for file in files:
# 拡張子の指定がある場合
if allow_ext_filter is not None:
if is_allow_ext(allow_ext_filter, file):
# 許可された拡張子だけ取得する
self.file_names.append(os.path.join(root, file))
else:
# 拡張子の指定がない場合
self.file_names.append(os.path.join(root, file))
return self.file_names
def get_file_names(self):
return self.file_names
Page 57 of 69.
すぺぺぺ
本サイトの作成者。
プログラムは趣味と勉強を兼ねて、のんびり本サイトを作っています。
フレームワークはdjango。
ChatGPTで自動プログラム作成に取り組み中。
https://www.osumoi-stdio.com/novel/