Posted in Python onMay 06, 2014
从文本文件中读入浮点数据,是最常见的任务之一,python没有scanf这样的输入函数,但我们可以利用正规表达式从读入的字符串中提取出浮点数
import re fp = open('c:/1.txt', 'r') s = fp.readline() print(s) aList = re.findall('([-+]?\d+(\.\d*)?|\.\d+)([eE][-+]?\d+)?',s) #使用正规表达式搜索字符串 print(aList) for ss in aList: print(ss[0]+ss[2]) aNum = float((ss[0]+ss[2])) print(aNum) fp.close()
文件内容:
12.540 56.00 1.2e2 -1.2E2 3.0e-2 4e+3
输出结果:
12.540 56.00 1.2e2 -1.2E2 3.0e-2 4e+3 [('12.540', '.540', ''), ('56.00', '.00', ''), ('1.2', '.2', 'e2'), ('-1.2', '.2', 'E2'), ('3.0', '.0', 'e-2'), ('4', '', 'e+3')] 12.540 12.54 56.00 56.0 1.2e2 120.0 -1.2E2 -120.0 3.0e-2 0.03 4e+3 4000.0
注解:
按行读入文本文件,利用正规表达式找出字符串中的浮点数,使用float()函数将字符串转换为浮点数
python读取浮点数和读取文本文件示例
声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@