import csv import re import os def main(): print("Enter the name of the input file:") input_file_name = input() # Open input file try: file = open(input_file_name, 'r') except FileNotFoundError: print(f'Error: File {input_file_name} not found.') return # Create output file try: output = open("movies.csv", 'w', newline='') except IOError: print('Error: Could not write to file "movies.csv".') file.close() return # Initialize CSV writer writer = csv.writer(output) # Regex to match movie title, year, and director pattern = re.compile(r'(.*?)(?:,\s*(The|An|A))?\s+(\d{4})') for line in file: # Parse line using regex matches = pattern.search(line) if matches is None: # Skip lines that don't match the expected format continue # Extract movie information movie_title = matches.group(1).strip() article = matches.group(2) year = matches.group(3) # Adjust movie title format if article: movie_title = "{} {}".format(article.strip(), movie_title) # Output fixed movie title and year to terminal print("Fixed: {} ({})".format(movie_title, year)) # Write movie title and year to CSV file try: writer.writerow([movie_title, year]) except Exception as e: print(f'Error: Could not write to file "movies.csv". Reason: {e}') file.close() output.close() return file.close() output.close() if __name__ == "__main__": main()