首页 > 解决方案 > 为什么 Python3 不能在 Jupyter 中“重新”工作?

问题描述

我有一些 Python3 代码用于查找英文文本中的单词,可能带有嵌入的 #、-、撇号或一些国际字符:

>>> import re
>>> exp
"((?:[\\w#éüöêåo]+[-’'])*[\\w#éüöêåo]+)"
>>> line
'William Shakespea#e was an Englis# poet, playwright a#d'
>>> re.findall( exp, line )
['William', 'Shakespea#e', 'was', 'an', 'Englis#', 'poet', 'playwright','a#d']

如图所示,它在 Python 解释器中按预期工作,但None在 Jupyter 笔记本中运行相同代码时返回。怎么来的?也许它与字符编码有关?

标签: regexpython-3.xjupyter-notebook

解决方案


这个问题与re. 在周围的代码中,我说:

text = []
...
line = reader.readline()
text = text.extend( re.findall( regexp, line )

我没有意识到 String.extend 会产生副作用,返回None. 实时调频。


推荐阅读