Я несколько новичок в Python, поэтому я думаю, что этот вопрос имеет простой ответ. Но я не могу найти решение нигде.Как я могу завершить скрипт Python вручную, не прерывая вывод файла?
У меня есть сценарий Python, который постоянно принимает входные данные от потокового API и сохраняет данные в файл.
Моя проблема, когда мне нужно остановить скрипт, чтобы изменить код. Если я использую ctrl-f2, я когда-нибудь поймаю скрипт, когда он находится в процессе записи в выходной файл, и файл окажется поврежденным.
Есть ли простой способ остановить Python вручную, что позволяет завершить выполнение текущей строки кода?
Это звучит как проблема для [ 'signal'] (https: //docs.python. org/3.5/library/signal.html) и ['atexit'] (https://docs.python.org/3.5/library/atexit.html). Тем не менее, вы можете рассмотреть транзакционную базу данных для сохранения данных. – ChrisP
Я бы второй atexit ... –
Спасибо. Хотя я должен был указать в вопросе, что я использую кнопку «Стоп» Pycharm, чтобы убить скрипт. И, похоже, он не может быть пойман, поскольку он посылает сигнал сигкилла. Есть ли другой способ остановить скрипт, который отправит другой сигнал? Я пробовал Ctrl-C и, похоже, не работал с Pycharm. – mgalka