Я работал над программой, которая принимает в качестве аргументов два файла, оценивает выражения в первом файле и возвращает значение во второй файл.Если перехватывается выражение, которое дает NameError, я пишу Not valid во второй файл и продолжаю работать до EOF.Это вся моя программа:
import os.path as path_check
def file_evaluate(read_from, write_to):
try:
file_read = open(read_from, "r")
except FileNotFoundError:
print ("File not found")
file_write = open(write_to, "w")
try:
for line in file_read:
print(eval(line), file=file_write)
except NameError:
print("Bad Expression", file=file_write)
def main():
file_to_read = input("Please enter a file to read from:")
file_to_write= input("Please enter a file to write to:")
if path_check.exists(file_to_read)==True:
print("Output file is successfully created. The output is written to", file_to_write)
file_evaluate(file_to_read, file_to_write)
else:
print("File '",file_to_read,"' does not exist")
Если мой первый файл имеет 3 выражения
- a + b
- 5 ** 6 + 4
- 12 / xx
Вывод моего второго файла будет «Плохое выражение», затем он просто останавливается.Я хочу бежать до EOF.Я не хочу, чтобы решение было достаточно нескольких подсказок.Спасибо!