Как вывести окно ошибки в Python в Windows

Какой самый простой способ сгенерировать окно ошибки для скрипта Python в Windows? Подходят ответы, специфичные для Windows; пожалуйста, не отвечайте, как сгенерировать собственное окно Tk.


@Constantin почти правильный, но его пример выдаст мусорный текст. Убедитесь, что текст в формате Unicode. То есть

  ctypes.windll.user32.MessageBoxW (0, u «Ошибка», u «Ошибка», 0)  

… и все будет нормально.


2

Вы можете получить однострочник, используя tkinter.

  import tkMessageBoxtkMessageBox.showerror ('error title', 'error message')  

Вот некоторая документация для всплывающих диалогов.

Поделиться
Улучшить этот ответ
ответил 29 июля ’10 в 18:32
  • Ах, я этого не знал, спасибо! Однако я предпочитаю прямой вызов win32 — Scribble Master 29 июля 2010 г., 18:40
  • 1
    Обратите внимание, что с этим ответом вы также получите главное окно. См. Этот ответ для подробностей. — Браун 5 апр. ’17 в 14:11
добавить комментарий |

Вы можете получить однострочник, используя tkinter.

  import tkMessageBoxtkMessageBox.showerror  ('заголовок ошибки', 'сообщение об ошибке')  

Вот некоторая документация для всплывающих диалогов.


1

Если вам нужно сообщение об ошибке графического интерфейса, вы можете использовать EasyGui:

 >>> import easygui as e >>> e.msgbox ("Произошла ошибка! :(", "Ошибка")  

В противном случае простой print ("Ошибка!") должно хватить.

Поделиться
Улучшить этот ответ
отредактировано 29 июля ’10 в 18:22
ответил 29 июля ’10 в 18:16
  • 1
    Это работает, спасибо ! Но не настолько хорошо, чтобы мне пришлось устанавливать другую библиотеку. И он основан на Tkinter. Я хотел что-то, что напрямую вызывало бы API Windows. — Scribble Master 29 июл, 2010 в 18:25
добавить комментарий |

Если вам нужно сообщение об ошибке графического интерфейса, вы можете использовать EasyGui:

 >  >> импортировать easygui как e >>> e.msgbox ("Произошла ошибка! :(", "Ошибка")  

В противном случае простой print ( «Ошибка!») должно хватить


1

Если я правильно помню (в данный момент у меня нет окна Windows), способ ctypes следующий:

  import  ctypesctypes.windll.user32.MessageBoxW (None, u «Ошибка», u «Ошибка», 0)  

ctypes — стандартный модуль.

Примечание. Для Python 3.x вам не нужен префикс u .

Поделиться
Улучшить этот ответ
отредактировано 29 июля ’10 в 18:30
ответил 29 июля ’10 в 18:23
добавить комментарий |

Если я правильно помню (в данный момент у меня нет окна Windows), способ ctypes это:

  import ctypesctypes.windll.user32.MessageBoxW (None, u «Ошибка», u «Ошибка», 0)  

ctypes — стандартный модуль.

Примечание. Для Python 3.x вам не нужен префикс u .


1

Информацию о окнах сообщений можно найти в разделе GUI в Python Wiki

Поделиться
Улучшите этот ответ
ответил 29 июля 2010, 18:42
добавить комментарий |

Ознакомьтесь с разделом GUI в Python Wiki для получения информации о окнах сообщений

Оцените статью
Botgadget.ru
Добавить комментарий