@dige: Du liest den Inhalt der Datei und *machst dann rein gar nichts damit*. Die `read()`-Methode hat den Dateiinhalt als Rückgabewert. Du möchtest die Zeichenkette in eine Zahl umwandeln und an den Namen `Counter` binden (eigentlich an `counter`, siehe
Style Guide for Python Code) und bitte das ``global`` entfernen und vergessen das es dieses Schlüsselwort überhaupt gibt.
Die Funktion würde ich auch nicht `Interrupt` nennen, sondern einen Namen wählen der aussagt was diese Funktion tut. Dabei kann dann auch der `ISR`-Kommentar weg, denn das ist sicher keine „Interrupt Service Routine“. Selbst falls da irgendwo ein paar Ebenen näher an der Hardware eine solche involviert sein *sollte*, das ist nichts was es auf der Sprachebene von Python gibt.
Dateien sollte man zusammen mit der ``with``-Anweisung öffnen, dann ist das schliessen unter allen Umständen garantiert.
Code auf Modulebene sollte nur Konstanten, Funktionen, und Klassen definieren. Das Hauptprogramm steht üblicherweise in einer Funktion die `main()` heisst.
Unter Linux kann man effizienter mit `signal.pause()` aktiv nichts tun. Oder aber man macht das Warten auf die Flanke nicht asynchron wenn man gar nicht wirklich etwas anderes an der Stelle parallel machen will.