Create Empty Captions for Images #
This Python script creates an empty text file with the same name as each image file (.jpg, .png, or .jpeg) present in a specified directory. The script checks if the directory exists, and then iterates through all the image files in the directory.
For each image file, it creates a corresponding text file with the same name but with a .txt extension in the same directory, unless a text file with that name already exists.
import os
import glob
def create_empty_txt_files(directory):
"""
Create empty .txt files for each image in a specified directory.
This function checks for the existence of a directory and then iterates over all .jpg, .png, and .jpeg files within it.
For each image file, it creates an empty .txt file with the same name if it doesn't already exist.
Parameters:
- directory (str): The path to the directory where the image files are located and where the .txt files will be created.
Returns:
None: This function does not return any value.
Prints:
- A message indicating that a .txt file has been created or already exists for each image file.
"""
# Check if the directory exists
if not os.path.exists(directory):
print("Directory does not exist.")
return
# Get a list of all image files in the directory
image_files = glob.rglob(os.path.join(directory, "*.jpg")) + \
glob.rglob(os.path.join(directory, "*.png")) + \
glob.rglob(os.path.join(directory, "*.jpeg"))
# Iterate over each image file
for image_file in image_files:
# Extract the filename without extension
filename = os.path.splitext(os.path.basename(image_file))[0]
# Create a corresponding txt file with the same name
txt_filename = os.path.join(directory, filename + ".txt")
# Check if the txt file already exists
if not os.path.exists(txt_filename):
# Create an empty txt file
with open(txt_filename, 'w') as f:
pass
print(f"Created {txt_filename}")
else:
print(f"{txt_filename} already exists")
# Path to the directory containing the images
image_directory = r'C:\Users\kade\Desktop\training_dir_staging\1_by_spaceengine'
# Call the function to create empty txt files
create_empty_txt_files(image_directory)