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版本是什么?