Python isalpha 给出错误的结果

问题描述

with open("text.txt") as f:
       for line in f:
         line.isalpha()
 
False

文件只有一行,内容是: "abc"

解决方法

我认为这是因为“abc”内容后面有一个空格

,

据我所知,文件行通常以换行符 \n 终止,这就是 isalpha() 返回 false 的原因。

,

正如其他人指出的,它必须是文件中的其他一些字符;可能是“\n”表示行终止,或者其他一些。

简而言之,您要删除这些字符。试试:

line.strip().isalpha()

完整说明如下。

加载数据:

with open("text.txt") as f:
       for line in f:
         line.isalpha()

行的输出为:

>>> line
'abc\n'

当然 isalpha() 的结果是假的:

>>> print(line.isalpha())
False

但是,删除 \n 可以获得正确的结果:

>>> line.strip()
'abc'
>>> line.strip.isalpha()
True

(要解决此问题,您可能只想在解释器中输出该行,而不用 print 语句,否则您将不会看到特殊字符为 '\n'

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...