Просто попытайтесь расшифровать с TTL, равным None (по умолчанию). Если это удастся, то вам больше ничего не нужно делать. В случае неудачи будет сгенерировано исключение InvalidToken, которое вы можете перехватить. Внутри блока исключений вы можете зашифровать файл, как в следующем примере:
import base64
from pathlib import Path
from cryptography.fernet import Fernet, InvalidToken
key = Fernet.generate_key()
f = Fernet(key)
encrypted = f.encrypt(b'Hello world')
p1, p2 = Path('file1'), Path('file2')
p1.write_bytes(encrypted)
p2.write_bytes(base64.urlsafe_b64encode(b'\x80not encrypted'))
for example in (p1, p2):
try:
data = example.read_bytes()
f.decrypt(data, None)
except InvalidToken:
example.write_bytes(f.encrypt(data))