问题描述
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'
)