我注意到一些Python代码处理的是未经Python处理的文本,他们没有使用标准的内置isspace()
。他们使用其他一些类型的过滤。
一个例子在这里
def _is_whitespace(c):
if c == " " or c == "\t" or c == "\r" or c == "\n" or ord(c) == 0x202F:
return True
return False
[我想知道是否有任何情况下isspace()
不能从文本中识别空白,也许不是在python之外处理的文本?如果没有,那将是什么方法?
在这种特定情况下,用户实现检测到的空白字符少于what the built-in cpython implementation does(来自Where is the complete implementation of python isspace())。不知道要链接的项目的详细信息,执行此操作的原因是未知的-来自五个月前添加代码的提交消息并不表示包括其自身版本的任何特定原因-可能是由于不知道isspace
方法存在。
您通常不会从标准库中获得方法的完整列表,并且最终会不时地重新实现这些方法。在这种情况下,它可能(不知道添加它的原因,我们只能猜测)可以安全地由内置版本替换。但是,他们可能有一个理由希望实现更狭窄的实现。