python 实现 Fortran的读取10*0以及换行读问题

时间:2023-03-08 20:49:38

思路,用read来全部读取,然后替换带*的元素来解决。代码如下

import numpy as np
import re
inf = open('SF.usr')
title = inf.readline()
l = inf.read()
d = re.split('[^0-9.*]+',l.strip())
for i,x in enumerate(d):
if x.find('*') != -1 :
f = x.split('*')
number = int(f[0])
value = f[1]
print(i,number,'个',value)
d[i] = value
for t in range( 1 , number):
d.insert(i,value)
d = np.array(d,dtype= np.float64)