Вы только print
при прохождении теста, поэтому любая строка, не прошедшая тест, не попадает в новый файл (FileInput
с inplace=True
заменяетисходный файл с тем, что вы излучаете на sys.stdout
; если вы ничего не излучаете, он ничего не записывает).Если вы хотите, чтобы остальные строки не изменялись, вам нужно вывести исходную строку в случае else
:
with fileinput.FileInput(bmark_file, inplace=True, backup='.bak') as file:
for line in file :
unique="id="+core
if unique in line:
print(line.replace(link['href'], vboard[core.lower()]['benchmarks.tls']), end='')
else:
print(line, end='') # Or just sys.stdout.write(line)
Тот факт, что ваш файл оказался пустым, означает, что тест unique in line
никогда не проходил, так что вы можете ожидать несуществующие данные.