Load Data From Files
Load many text files at once — with an on/off toggle for each
- values list
- values
- count
Most file-loading nodes are strictly one file in, one file out. LoadDataFromFiles does something more useful: it lets you attach several text files to a single node, each with its own on/off toggle, and it dumps every enabled file's lines into one combined pool. It's the plumbing node that feeds the pack's wildcard and prompt machinery, and it happens to be the most polished thing in the pack - the author built a custom UI for it, and it shows.
Here's the shape of the problem it solves. You're doing character variations, so you have a people.txt, an objects.txt, and a styles.txt. Instead of three loader nodes and a merge step, you attach all three files to one LoadDataFromFiles and get a single list of lines back. Don't want the styles in this run? Flip that file's toggle off and re-queue. The toggles are real switch widgets on the node - the pack's JavaScript extension draws them - and there's a "toggle all" control so you can flip every file on or off in one click. That's a genuinely nice touch for someone doing A/B tests.
The mechanism is simple under the hood: each file widget is {on: bool, file: path}. Enabled files get read, their lines stripped and flattened into one list, and missing files are skipped with a warning in the console rather than killing the run. One detail worth knowing if you work with legacy text: it tries UTF-8 first, then falls back to CP1251 - the Cyrillic encoding - so old Russian-language wordlists load without you re-encoding them. The author's own logs are in Russian, which tells you who this pack is for.
You don't set classic inputs here - the file widgets are dynamic, added per node. Outputs are the payload:
- values list - every line from every enabled file, as a
STRINGlist. This is the one you feed intoWildcard Replace'svaluesinput. - values - the same lines joined into one string with
,, handy if a consumer wants a single text blob. - count - an
INTtelling you how many lines came through, which is great for sanity-checking that the file actually had content.
The honest limitations: file paths here don't get $ENV_VAR expansion (unlike the pack's prompt nodes), so type full paths. And a file that doesn't exist is skipped silently-ish - the warning lives in the console, so if your pool suddenly shrinks, check the log before assuming a bug.
Install via Custom Nodes Manager (search ComfyUI_BishaNodes) or:
cd ComfyUI/custom_nodes
git clone https://github.com/vladpro3/ComfyUI_BishaNodes.git
Restart and it appears under the BishaNodes category. No models, no dependencies, MIT-licensed. If you're building any kind of variation workflow - characters, styles, random descriptors - this node plus Wildcard Replace is a tight little combo, and honestly the file toggles are the feature you'll miss the moment you go back to a plain single-file loader.
Inputs (0)
No inputs
Outputs (3)
| Name | Type | Description |
|---|---|---|
| values list | STRING | — |
| values | STRING | — |
| count | INT | — |