with open("convert_der/after.txt", "r") as r:
count = r.read().count('|')
print(f'Суммарно {count}')
read = r.read()
Смотрите что тут происходит:
- открывается файл на чтение
- вычитывается всё содержимое файла и в содержимом подсчитывается число "|", при этом считанное содержимое никуда не сохраняется в памяти.
- повторный read уже ничего не прочитает. Просто пустая строка будет.
В файле есть виртуальный курсор, когда файл открыт на чтение, курсор стоит в его начале. Можно читать указывая количество символов для чтения, или читать построчно, тогда курсор сдвигается на указанное число символов или на строку, а дальнейшие чтения будут уже с нового места. Если вы вычитали весь файл, а именно это происходит при read() без параметров, то курсор уже в конце, и оттуда можно прочесть только пустоту.