diff --git a/scripts/createtxtfromfilename.py b/scripts/createtxtfromfilename.py new file mode 100644 index 0000000..93c09e5 --- /dev/null +++ b/scripts/createtxtfromfilename.py @@ -0,0 +1,29 @@ +import glob +import os +import argparse + + +def create_txt_from_filename(path): + """ + create a .txt file for each file in the path so you can lengthen the caption + """ + print(f"Creating .txt files from filenames in {path}") + for idx, f in enumerate(glob.iglob(f"{path}/**", recursive=True)): + print(f"Creating {f}.txt") + if not os.path.isfile(f) or not os.path.splitext(f)[1] in ['.jpg', '.png', '.jpeg', '.webp', '.bmp']: + continue + + path_without_filename = os.path.dirname(f) + base_name = os.path.splitext(os.path.basename(f))[0] + caption = os.path.splitext(base_name)[0].split("_")[0] + target = f"{path_without_filename}/{base_name}.txt" + print (f"Creating file: {target} from {f}") + with open(target, "w") as text_file: + text_file.write(caption) + +if __name__ == "__main__": + + parser = argparse.ArgumentParser() + parser.add_argument("--path", type=str, help="path to folder") + args = parser.parse_args() + create_txt_from_filename(args.path)