Python 如何检查行是否只包含数字?
如何检查文件的第一行是否只包含数字Python 如何检查行是否只包含数字?,python,python-2.7,Python,Python 2.7,如何检查文件的第一行是否只包含数字 >> with open("text.txt") as f: line = f.readline() >> line '0.23\t5.44\t-4.33\t2.45\t-1.23\n' >> line.isdigit() False 假设您希望输入为true,那么看起来您希望在空白处拆分行,然后测试它们是否都是(十进制)数字 split()返回[a,b],如果字符串不是有效的浮点,float(str)
>> with open("text.txt") as f:
line = f.readline()
>> line
'0.23\t5.44\t-4.33\t2.45\t-1.23\n'
>> line.isdigit()
False
假设您希望输入为true,那么看起来您希望在空白处拆分行,然后测试它们是否都是(十进制)数字 split()返回[a,b],如果字符串不是有效的浮点,float(str)将抛出异常
def isNumbers(string):
try:
for n in string.split():
print n
f = float(n)
return True
except:
return False
print( isNumbers(line) )
你的意思是只有数字和空格,对吗?@Daniel Mesejo,这行包括空格,但有没有办法忽略它们?我想你可以做一些类似于
all(chunk.isnumeric(),用于line.strip().split()中的chunk)
@Daniel Mesejo,谢谢,但是我得到了一个AttributeError:'str'对象没有属性'isnumeric'
您使用的Python版本是什么?