從文本文件中讀入浮點數據,是最常見的任務之一,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()函數將字符串轉換為浮點數
新聞熱點
疑難解答