Γενικά πάντως, αυτό που θες να κάνεις είναι πολύ low level, μάλιστα είναι στο επίπεδο των drivers (Προγράμματα Οδήγησης Υλικού). Σίγουρα μπορείς να πειράξεις interrupts από assemply πολύ πιθανόν και σε c.
Εγώ έχω ασχοληθεί με λειτουργικά συστήματα σε c μόνο, άρα δεν ξέρω αν γίνεται σε python. Με ένα γρήγορο search βρήκα το εξής:
https://docs.python.org/3.6/library/signal.html
Αν δεν ξέρεις τι είναι τα signals: Στα λειτουργικά συστήματα όταν μία σειριακή συσκευή αλλάζει κατάσταση πχ έχει να δώσει δεδομένα, μπορεί να διαβάσει δεδομένα και κτλ, στέλνει ένα σήμα (signal) στην διεργασία που εκτελείτε στο fore ground όπως το λέμε και διακόπτει την εκτέλεση της. Ο προγραμματιστής μπορεί να χειριστεί (handle) αυτήν την διακοπή έχοντας γράψει μια ρουτίνα (function) η οποία εκτελείτε όταν λαμβάνεται αυτό το συγκεκριμένο σήμα.
Το παραπάνω link είναι documentation για να κάνεις ακριβώς αυτό το πράμα σε python, πιστεύω μπορεί να σε βοηθήσει άλλα θέλει διάβασμα