This code replaces the words on the left side with the words on the right side. However, I want the two columns of words in a separate file that I’ll name “inputDictionary.txt”.
So here’s the code (and I’ll admit that I went back and forth with ChatGPT to get it to work, and the comments are all by the robot; also, sorry about the harsh words in my list):
import re
# Function to replace words in the text
def replace_words(text):
# Dictionary containing the word replacements
replacements = {
'genocidal': 'genocídal', # Replace 'genocidal' with 'genocídal'
'maniacs': 'maníacs', # Replace 'maniacs' with 'maníacs'
'murderers': 'murḑereṙs' # Replace 'murderers' with 'murḑereṙs'
}
# Create a regular expression pattern to match the words
# The pattern uses word boundaries (\b) to ensure whole word matching
# The pattern is constructed by joining the escaped keys of the replacements dictionary
pattern = r'\b(' + '|'.join(re.escape(word) for word in replacements.keys()) + r')\b'
# Use re.sub() to replace the matched words with their replacements
# The lambda function retrieves the matched word and returns the replacement from the dictionary
replaced_text = re.sub(pattern, lambda match: replacements[match.group(0)], text)
# Return the modified text
return replaced_text
input_file = "Input.txt" # File path of the input file
output_file = "output.txt" # File path of the output file
# Open the input file for reading and the output file for writing
# Both files are encoded in UTF-8
with open(input_file, 'r', encoding='utf-8') as f_input, open(output_file, 'w', encoding='utf-8') as f_output:
# Iterate over each line in the input file
for line in f_input:
# Remove leading/trailing whitespaces from the line
# Replace words using the replace_words() function
replaced_line = replace_words(line.strip())
# Write the modified line to the output file, followed by a newline character
f_output.write(replaced_line + "\n")