RecursionError: максимальная глубина рекурсии превышена в сравнении. Неустранимая ошибка Python: невозможно восстановить после переполнения стека - PullRequest
0 голосов
/ 30 декабря 2018

Я хочу создать приложение для чата, когда пользователь, набравший URL или текст письма, станет гиперссылкой google.com / abc123@gmail.com, похожей на Whatsapp и Facebook Messenger.Но теперь мой код не может ничего напечатать, получит ошибку:

RecursionError: превышена максимальная глубина рекурсии в сравнении. Неустранимая ошибка Python: невозможно восстановить после переполнения стека.

Я понятия не имею, как решить эту проблему.Я исследую, Google не получает никакой помощи для меня.


    from PyQt5 import QtCore, QtGui, QtWidgets
    import re
    class Ui_Form(object):
        def setupUi(self, Form):
            Form.setObjectName("Form")
            Form.resize(400, 300)
            self.textBrowser = QtWidgets.QTextBrowser(Form)
            self.textBrowser.setGeometry(QtCore.QRect(20, 10, 361, 192))
            self.textBrowser.setObjectName("textBrowser")
            self.pushButton = QtWidgets.QPushButton(Form)
            self.pushButton.setGeometry(QtCore.QRect(300, 220, 93, 28))
            self.pushButton.setObjectName("pushButton")
            self.textEdit = QtWidgets.QTextEdit(Form)
            self.textEdit.setGeometry(QtCore.QRect(20, 210, 271, 41))
            self.textEdit.setObjectName("textEdit")

            self.retranslateUi(Form)
            QtCore.QMetaObject.connectSlotsByName(Form)
            self.pushButton.clicked.connect(self.getvalue)


        def retranslateUi(self, Form):
            _translate = QtCore.QCoreApplication.translate
            Form.setWindowTitle(_translate("Form", "Form"))
            self.pushButton.setText(_translate("Form", "PushButton"))

        def getvalue(self,email):
             s = self.textEdit.toPlainText()
             p = re.match("^.+@(\[?)[a-zA-Z0-9-.]+.([a-zA-Z]{2,3}|[0-9]{1,3})(]?)$",str (email))
             q = re.compile("^(http:\/\/www\.|https:\/\/www\.|http:\/\/|https:\/\/)?[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}(:[0-9]{1,5})?(\/.*)?$",re.IGNORECASE)
             if (p != None and self.getvalue(s) == True):
                 links ='{1}'.format(('mailto:'+s), s)
                 self.textBrowser.setOpenExternalLinks(True)
                 self.textBrowser.setText(links)
                 print("s")
             elif (q != None and self.getvalue(s) == True):
                 link ='{1}'.format(('http://'+s), s)
                 self.textBrowser.setOpenExternalLinks(True)
                 self.textBrowser.setText(link)
                 print("t")
             else:
                 self.textBrowser.append(s)
                 print("u")

    if __name__ == "__main__":
        import sys
        app = QtWidgets.QApplication(sys.argv)
        MainWindow = QtWidgets.QMainWindow()
        ui = Ui_Form()
        ui.setupUi(MainWindow)
        MainWindow.show()
        sys.exit(app.exec_())

Цитата

Результат:

Traceback (самая последняявызовите последний): файл "c: \ Users \ User.vscode \ extensions \ ms-python.python-2018.12.1 \ pythonFiles \ lib \ python \ ptvsd_vendored \ pydevd_pydevd_bundle \ pydevd_trace_dispatch_regular.py", строка 373, в call если не is_stepping и frame_cache_key в cache_skips: RecursionError: превышена максимальная глубина рекурсии в сравнении Неустранимая ошибка Python: невозможно восстановить из-за переполнения стека.

Поток 0x00003700 (самый последний вызов в первую очередь): Файл "c: \ Users\ User.vscode \ extensions \ ms-python.python-2018.12.1 \ pythonFiles \ lib \ python \ ptvsd_vendored \ pydevd \ pydevd.py ", строка 176 в файле _on_run" c: \ Users \ User.vscode \ extensions \ ms-python.python-2018.12.1 \ pythonFiles \ lib \ python \ ptvsd_vendored \ pydevd_pydevd_bundle \ pydevd_comm.py ", строка 203 в рабочем файле" C: \ Program Files (x86) \ Python37-32 \ lib \ threading.py ",строка 917 в _bootstrap_inner
Файл "C: \ Program"Файлы (x86) \ Python37-32 \ lib \ threading.py ", строка 885 в файле _bootstrap" c: \ Users \ User.vscode \ extensions \ ms-python.python-2018.12.1 \ pythonFiles \ lib \ python \ ptvsd_vendored\ pydevd_pydev_bundle \ pydev_monkey.py ", строка 626 в call

Thread 0x000029a4 (самый последний вызов в первую очередь): файл" C: \ Program Files (x86) \ Python37-32 \ lib \threading.py ", строка 300 в файле ожидания Файл" C: \ Program Files (x86) \ Python37-32 \ lib \ threading.py ", строка 552 в файле ожидания" c: \ Users \ User.vscode \ extensions \ ms-python.python-2018.12.1 \ pythonFiles \ lib \ python \ ptvsd_vendored \ pydevd \ pydevd.py ", строка 154 в файле _on_run" c: \ Users \ User.vscode \ extensions \ ms-python.python-2018.12.1 \pythonFiles \ lib \ python \ ptvsd_vendored \ pydevd_pydevd_bundle \ pydevd_comm.py ", строка 203 в рабочем файле" C: \ Program Files (x86) \ Python37-32 \ lib \ threading.py ", строка 917 в _bootstrap_inner
файл"C: \ Program Files (x86) \ Python37-32 \ lib \ threading.py ", строка 885 в файле _bootstrap" c: \ Users \ User.vscode \ extensions \ ms-python.python-2018.12.1 \ pythonFiles \lib \ python \ ptvsd_vendored \ pydevd_pydev_bundle \ pydev_monkey.py ", строка 626 в вызов

поток 0x00003c94 (самый последний вызов первый): файл" c: \ Users \ User.vscode \ extensions\ ms-python.python-2018.12.1 \ pythonFiles \ lib \ python \ ptvsd \ wrapper.py ", строка 383 в файле recv" c: \ Users \ User.vscode \ extensions \ ms-python.python-2018.12.1\ pythonFiles \ lib \ python \ ptvsd_vendored \ pydevd_pydevd_bundle \ pydevd_comm.py ", строка 273 в файле _on_run" c: \ Users \ User.vscode \ extensions \ ms-python.python-2018.12.1 \ pythonFiles \ lib \ python \ ptvsd\ pydevd_pydevd_bundle \ pydevd_comm.py ", строка 203 в рабочем файле" C: \ Program Files (x86) \ Python37-32 \ lib \ threading.py ", строка 917 в _bootstrap_inner
файл" C: \ Program Files (x86)) \ Python37-32 \ lib \ threading.py ", строка 885 в _bootstrap

Thread 0x00001318 (сначала последний вызов): файл" c: \ Users \ User.vscode \ extensions \ ms-python.python-2018.12.1 \ pythonFiles \ lib \ python \ ptvsd \ ipcjson.py ", строка 112 в файле _send" c: \ Users \ User.vscode \ extensions \ ms-python.python-2018.12.1 \ pythonFiles \ lib \ python \ ptvsd \ ipcjson.py ", строка 279 в файле send_event" c: \ Users \ User.vscode \ extensions \ ms-python.python-2018.12.1 \ pythonFiles \ lib \python \ ptvsd \ wrapper.py ", строка 2558 в файле on_pydevd_cmd_write_to_console2" c: \ Users \ User.vscode \ extensions \ ms-python.python-2018.12.1 \ pythonFiles \ lib \ python \ ptvsd \ wrapper.py ", строка1386 в файле on_pydevd_event"c: \ Users \ User.vscode \ extensions \ ms-python.python-2018.12.1 \ pythonFiles \ lib \ python \ ptvsd \ session.py", строка 181 в файле handle_pydevd_message "c: \ Users \ User.vscode \extensions \ ms-python.python-2018.12.1 \ pythonFiles \ lib \ python \ ptvsd \ daemon.py ", строка 531 в файле _handle_pydevd_message" c: \ Users \ User.vscode \ extensions \ ms-python.python-2018.12.1 \ pythonFiles \ lib \ python \ ptvsd \ wrapper.py ", строка 423 в отправляемом файле" c: \ Users \ User.vscode \ extensions \ ms-python.python-2018.12.1 \ pythonFiles \ lib \ python \ ptvsd_vendored \pydevd_pydevd_bundle \ pydevd_comm.py ", строка 522 в отправляемом файле" c: \ Users \ User.vscode \ extensions \ ms-python.python-2018.12.1 \ pythonFiles \ lib \ python \ ptvsd_vendored \ pydevd_pydevd_bundle \ pydevd_comm.py "365 в файле _on_run "c: \ Users \ User.vscode \ extensions \ ms-python.python-2018.12.1 \ pythonFiles \ lib \ python \ ptvsd_vendored \ pydevd_pydevd_bundle \ pydevd_comm.py", строка 203 в рабочем файле "C: \"Программные файлы (x86) \ Python37-32 \ lib \ threading.py ", строка 917 в _bootstrap_inner
Файл" C: \ Program Files (x86)\ Python37-32 \ lib \ threading.py ", строка 885 в _bootstrap

Thread 0x00002658 (сначала последний вызов): файл" c: \ Users \ User.vscode \ extensions \ ms-python.python-2018.12.1 \ pythonFiles \ lib \ python \ ptvsd \ ipcjson.py ", строка 131 в файле _buffered_read_line_as_ascii" c: \ Users \ User.vscode \ extensions \ ms-python.python-2018.12.1 \ pythonFiles \ lib \ python \ptvsd \ ipcjson.py ", строка 172 в файле _wait_for_message" c: \ Users \ User.vscode \ extensions \ ms-python.python-2018.12.1 \ pythonFiles \ lib \ python \ ptvsd \ ipcjson.py ", строка 318 вФайл process_one_message "c: \ Users \ User.vscode \ extensions \ ms-python.python-2018.12.1 \ pythonFiles \ lib \ python \ ptvsd \ ipcjson.py", строка 305 в файле process_messages "c: \ Users \ User.vscode \ extensions \ ms-python.python-2018.12.1 \ pythonFiles \ lib \ python \ ptvsd \ wrapper.py ", строка 906 в файле process_messages" C: \ Program Files (x86) \ Python37-32 \ lib \ threading.py ", строка 865 в рабочем файле" C: \ Program Files (x86) \ Python37-32 \ lib \ threading.py ", строка 917 в файле _bootstrap_inner" C: \ Program Files (x86)\ Python37-32 \ lib \ threading.py ", строка 885 в _bootstrap

Thread 0x00000df0 (сначала последний вызов): файл" C: \ Program Files (x86) \ Python37-32 \ lib \ threading.py ", строка 300 в файле ожидания Файл" C: \ Program Files (x86) \ Python37-32 \ lib \ threading.py ", строка 552 в файле ожидания" c: \ Users \ User.vscode \ extensions \ ms-python.python-2018.12.1 \ pythonFiles \ lib \ python \ ptvsd \ futures.py ", строка 106 в файле run_forever" C: \ Program Files (x86) \ Python37-32 \ lib \ threading.py ", строка 865 в файле запуска«C: \ Program Files (x86) \ Python37-32 \ lib \ threading.py», строка 917 в файле _bootstrap_inner «C: \ Program Files (x86) \ Python37-32 \ lib \ threading.py», строка 885 в_bootstrap

Текущий поток 0x00001154 (последний вызов сначала): файл "c: \ Users \ User.vscode \ extensions \ ms-python.python-2018.12.1 \ pythonFiles \ lib \ python \ ptvsd_vendored \ pydevd_pydevd_bundle \pydevd_trace_dispatch_regular.py ", строка 373 в вызов Файл" C: \ Program Files (x86) \ Python37-32 \ lib \ enum.py ", строка 607 в значении Файл" C: \ Program Files (x86)) \ Python37-32 \ lib \ types.py ", строка 171 в get Файл" C: \ Program Files (x86) \ Python37-32 \ lib \ re.py ", строка 274 в _compile
Файл "C: \ Program Files (x86) \ Python37-32 \ lib \ re.py", строка 234 в файле компиляции "c: \ Users \ Пользователь \ Desktop \ python \ test.py", строка 42 в файле getvalue "c: \ Users \ User \ Desktop \ python \ test.py ", строка 48 в getvalue Файл" c: \ Users \ User \ Desktop \ python \ test.py ", строка 48 в getvalue ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...