Программа выводит ошибку из-за значения "", которое невозможно преобразовать в int

...хотя я сделала так, чтобы в том файле были только цифры

Мой код:

#подготовка
import os

file_all_marks_write = open("all_marks.txt", "a")
file_sum_write = open("sum.txt", "w")
file_mark_write = open("mark.txt", "w")

file_all_marks_read = open("all_marks.txt", "r")
file_sum_read = open("sum.txt", "r")
file_mark_read = open("mark.txt", "r")


#максимально возможная оцека и минимально возможная оценка
maximal = int(input('Введите максимально возможную оценку: '))
minimal = int(input('Введите минимально возможную оценку: '))


while True:
    #ввод новой оценки
    new_mark = int(input('Введите новую оценку: '))

    #соответствует ли оценка заданным ранее критериям
    if new_mark > maximal and new_mark < minimal:
        print('Error')
        break

    #обновление суммы всех оценок (для итоговой оценки)
    if(file_sum_read.read() == ""):
        file_sum_write.write(str(new_mark))
    else:
        file_sum_write.write(str(int(file_sum_read.read()) + new_mark))

    #обновление файла, где хранятся все оценки
    file_all_marks_write.write(str(new_mark))
    file_all_marks_write.write(" ")

    #подсчёт итоговой оценки
    statinfo = os.stat('all_marks.txt')
    file_mark_write.write(str(round(int(file_sum_read.read()) / (statinfo.st_size / 2))))

    #вывод всех оценок и итоговой оценки на экран
    i = 0
    for x in range(len(all_marks)):
        print(file_all_marks_read.read())
        i += 1

    print('---')
    print(file_mark_read.read())

Текст ошибки:

Traceback (most recent call last):
  File "C:/Users/dasha/Documents/dnevnik/main.py", line 39, in <module>
    file_mark_write.write(str(round(int(file_sum_read.read()) / (statinfo.st_size / 2))))
ValueError: invalid literal for int() with base 10: ''

Ответы (0 шт):