我是
python编程的新手,需要帮助才能做到这一点.
我有一个包含几个数字的文本文件:
12 35 21 123 12 15 12 18 89
我需要能够读取每行的单个数字,以便能够在数学公式中使用它们.
解决方法
在python中,您从文件中读取一行作为字符串.然后,您可以使用字符串获取所需的数据:
with open("datafile") as f: for line in f: #Line is a string #split the string on whitespace,return a list of numbers # (as strings) numbers_str = line.split() #convert numbers to floats numbers_float = [float(x) for x in numbers_str] #map(float,numbers_str) works too
我已经完成了所有这一切的步骤,但你会经常看到人们组合它们:
with open('datafile') as f: for line in f: numbers_float = map(float,line.split()) #work with numbers_float here
最后,在数学公式中使用它们也很容易.首先,创建一个函数:
def function(x,y,z): return x+y+z
with open('datafile') as f: for line in f: numbers_float = map(float,line.split()) print function(numbers_float[0],numbers_float[1],numbers_float[2]) #shorthand: print function(*numbers_float)