Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah Saya Boleh Mengendalikan Gangguan Ctrl C (SIGINT) dengan Anggun dalam Python?

Bagaimanakah Saya Boleh Mengendalikan Gangguan Ctrl C (SIGINT) dengan Anggun dalam Python?

Linda Hamilton
Lepaskan: 2024-12-18 12:00:18
asal
205 orang telah melayarinya

How Can I Gracefully Handle Ctrl C Interrupts (SIGINT) in Python?

Mengendalikan Isyarat SIGINT dalam Python

Dalam Python, anda boleh bertindak balas kepada isyarat SIGINT (dihasilkan dengan menekan Ctrl C) dengan menggunakan fungsi isyarat.isyarat. Fungsi ini mendaftarkan fungsi pengendali yang akan dilaksanakan apabila isyarat yang ditentukan diterima. Berikut ialah contoh yang menunjukkan cara untuk mencapai kefungsian yang sama seperti kod Perl yang disediakan:

import signal
import sys

def signal_handler(sig, frame):
    print('You pressed Ctrl+C!')
    sys.exit(0)

signal.signal(signal.SIGINT, signal_handler)
print('Press Ctrl+C')
signal.pause()
Salin selepas log masuk

Dalam kod di atas:

  • signal_handler ialah fungsi pengendali berdaftar. Apabila isyarat SIGINT diterima, fungsi ini dipanggil dan mencetak mesej untuk menunjukkan bahawa Ctrl C telah ditekan. Ia kemudian keluar dari skrip.
  • signal.signal mendaftarkan fungsi signal_handler sebagai pengendali untuk SIGINT.
  • print('Tekan Ctrl C') mencetak mesej ke konsol meminta pengguna menekan Ctrl C.
  • signal.pause() memasuki gelung acara dan menunggu isyarat dihantar. Apabila SIGINT diterima, fungsi signal_handler dilaksanakan dan skrip akan keluar.

Kod ini menyediakan cara yang berkesan untuk mengendalikan isyarat SIGINT dalam Python dengan anggun dan melakukan tindakan pembersihan sebelum keluar dari skrip.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengendalikan Gangguan Ctrl C (SIGINT) dengan Anggun dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan