import glob import os class AnyType(str): """A special class that is always equal in not equal comparisons. Credit to pythongosssss""" def __ne__(self, __value: object) -> bool: return False any = AnyType("*") class TraverseFolder: @classmethod def INPUT_TYPES(s): return { "required": { "folder": ("STRING", {"default": r"E:\comfy\ComfyUI\input\s3", "required": True}), "subfix": ("STRING", {"default":".mp4", "required": True}), "recursive": ("BOOLEAN", {"default": True, "required": True}), "idx": ( "INT", {"default": 0, "min": 0, "max": 0xFFFFFF}, ), }, } RETURN_TYPES = ("STRING", ) RETURN_NAMES = ("文件路径",) FUNCTION = "compute" CATEGORY = "不忘科技-自定义节点🚩" def compute(self, folder, subfix, recursive, idx): files = glob.glob(os.path.join(folder, r"**\*%s" % subfix), recursive=recursive) if len(files) == 0: raise RuntimeError("No Files Found") return (str(files[idx % len(files)]),)