|
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) |
|
|