python - RecursionError:在比较中超出了最大递归深度致命的 Python 错误:无法从堆栈溢出中恢复
问题描述
google.com
当用户键入 URL 或邮件文本将成为超链接/abc123@gmail.com
类似 Whatsapp 和 Facebook Messenger时,我想做一个聊天应用程序。但是现在我的代码不能输入任何东西会得到错误:
RecursionError:在比较中超出了最大递归深度致命的 Python 错误:无法从堆栈溢出中恢复。
我不知道如何解决这个问题。我研究谷歌对我没有任何帮助。
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_())
块引用
结果 :
回溯(最后一次调用):文件“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 行,在如果不是,则调用 cache_skips 中的 is_stepping 和 frame_cache_key: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”,运行文件“C:\Program Files”中的第 203 行(x86)\Python37-32\lib\threading.py",_bootstrap_inner
文件中的第 917 行"C:\Program Files (x86)\Python37-32\lib\threading.py",_bootstrap 文件中的第 885 行"c:\ Users\User.vscode\extensions\ms-python.python-2018.12.1\pythonFiles\lib\python\ptvsd_vendored\pydevd_pydev_bundle\pydev_monkey.py",第 626 行调用线程 0x000029a4(最近一次调用优先):文件“C:\Program Files (x86)\Python37-32\lib\threading.py”,等待文件“C:\Program Files (x86)\Python37-32\ 中的第 300 行lib\threading.py",等待文件中的第 552 行 "c:\Users\User.vscode\extensions\ms-python.python-2018.12.1\pythonFiles\lib\python\ptvsd_vendored\pydevd\pydevd.py",行_on_run 文件“c:\Users\User.vscode\extensions\ms-python.python-2018.12.1\pythonFiles\lib\python\ptvsd_vendored\pydevd_pydevd_bundle\pydevd_comm.py”中的 154,运行文件“C:\程序文件 (x86)\Python37-32\lib\threading.py",_bootstrap_inner 中的第 917 行
文件“C:\Program Files (x86)\Python37-32\lib\threading.py”,_bootstrap 文件中的第 885 行“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”,recv 文件中的第 383 行“c:\Users\User.vscode\extensions\ms-python.python-2018.12.1\pythonFiles\lib\python\ptvsd_vendored\pydevd_pydevd_bundle\pydevd_comm.py”,_on_run 文件中的第 273 行“c:\Users\User. vscode\extensions\ms-python.python-2018.12.1\pythonFiles\lib\python\ptvsd_vendored\pydevd_pydevd_bundle\pydevd_comm.py”,运行文件“C:\Program Files (x86)\Python37-32\lib\ 中的第 203 行threading.py”,_bootstrap_inner
文件中的第 917 行“C:\Program Files (x86)\Python37-32\lib\threading.py”,_bootstrap 中的第 885 行线程 0x00001318(最近一次调用优先):文件“c:\Users\User.vscode\extensions\ms-python.python-2018.12.1\pythonFiles\lib\python\ptvsd\ipcjson.py”,_send 文件中的第 112 行“c:\Users\User.vscode\extensions\ms-python.python-2018.12.1\pythonFiles\lib\python\ptvsd\ipcjson.py”,send_event 文件中的第 279 行“c:\Users\User.vscode\ extensions\ms-python.python-2018.12.1\pythonFiles\lib\python\ptvsd\wrapper.py”,on_pydevd_cmd_write_to_console2 文件中的第 2558 行“c:\Users\User.vscode\extensions\ms-python.python-2018.12. 1\pythonFiles\lib\python\ptvsd\wrapper.py",on_pydevd_event 文件中的第 1386 行"c:\Users\User.vscode\extensions\ms-python.python-2018.12.1\pythonFiles\lib\python\ptvsd\ session.py”,handle_pydevd_message 文件中的第 181 行“c:\Users\User.vscode\extensions\ms-python.python-2018.12.1\pythonFiles\lib\python\ptvsd\daemon.py”,_handle_pydevd_message 文件中的第 531 行“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” ,_on_run 文件“c:\Users\User.vscode\extensions\ms-python.python-2018.12.1\pythonFiles\lib\python\ptvsd_vendored\pydevd_pydevd_bundle\pydevd_comm.py”中的第 365 行,运行文件“C”中的第 203 行:\Program 文件 (x86)\Python37-32\lib\threading。py",_bootstrap_inner 中的第 917 行
文件“C:\Program Files (x86)\Python37-32\lib\threading.py”,_bootstrap 中的第 885 行线程 0x00002658(最近一次调用优先):文件“c:\Users\User.vscode\extensions\ms-python.python-2018.12.1\pythonFiles\lib\python\ptvsd\ipcjson.py”,_buffered_read_line_as_ascii 文件中的第 131 行“c:\Users\User.vscode\extensions\ms-python.python-2018.12.1\pythonFiles\lib\python\ptvsd\ipcjson.py”,_wait_for_message 文件中的第 172 行“c:\Users\User.vscode\ extensions\ms-python.python-2018.12.1\pythonFiles\lib\python\ptvsd\ipcjson.py”,process_one_message 文件中的第 318 行“c:\Users\User.vscode\extensions\ms-python.python-2018.12. 1\pythonFiles\lib\python\ptvsd\ipcjson.py”,process_messages 文件中的第 305 行“c:\Users\User.vscode\extensions\ms-python.python-2018.12.1\pythonFiles\lib\python\ptvsd\ wrapper.py”,process_messages 文件中的第 906 行“C:\Program Files (x86)\Python37-32\lib\threading.py",运行文件中的第 865 行 "C:\Program Files (x86)\Python37-32\lib\threading.py",_bootstrap_inner 文件中的第 917 行" C:\Program Files (x86)\Python37-32\lib\threading.py",_bootstrap 中的第 885 行
线程 0x00000df0(最近一次调用优先):文件“C:\Program Files (x86)\Python37-32\lib\threading.py”,等待文件“C:\Program Files (x86)\Python37-32\ 中的第 300 行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”,运行文件“C:\Program Files (x86)\Python37-32\lib\threading.py”中的第 865 行,行_bootstrap_inner 文件“C:\Program Files (x86)\Python37-32\lib\threading.py”中的 917,_bootstrap 中的第 885 行
当前线程 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”中,值文件“C:\Program Files (x86)\Python37-32\lib\types.py”中的第 607 行,获取文件“C:\Program Files (x86)\Python37-32\lib\re.py”中的第171 行,_compile
文件中的第 274 行“C:\Program Files (x86)\Python37-32\lib\re.py ",编译文件 "c:\Users\User\Desktop\python\test.py" 中的第 234 行,getvalue 文件中的第 42 行 "c:\Users\User\Desktop\python\test.py",getvalue 中的第 48 行文件“c:\Users\User\Desktop\python\test.py",getvalue 中的第 48 行 ...
解决方案
推荐阅读
- spring-cloud - 当 Content-Length 标头为 0 [Spring Cloud Gateway] 时,WebFilter 的 doOnSuccessOrError 消费者不起作用
- excel - 如果给定列号,Excel会在列中找到最大值
- php - 如果键相同,我将如何添加数量
- google-apps-script - 在提交期间禁用多个 onSubmit 触发器实例
- elasticsearch - 带有保留字符的 Elasticsearch 查询问题
- maven - 我们可以通过 Selenium Cucumber Maven 框架中的命令行传递多个浏览器名称以并行执行吗
- javascript - Javascript双击事件问题
- jenkins - 未处理的异常:System.ComponentModel.Win32Exception:系统找不到指定的文件
- java - 不支持 1.8 版
- apache-zookeeper - 在对 solr 进行几次成功更新后,抛出 SolrException: java.util.concurrent.TimeoutException: Could not connect to ZooKeeper