在求高阶的拉格朗日插值时,比如8阶,需要取当前数据的前4条、以及后3条数据。那么在对当前txt的最前面4条和最后面3条数据求插值时,就需要读取上一个文件的后4条、下一个文件的前3条数据。
for f in os.listdir(r_path):
# 如果不是第一个文件,取上一个文件中后4条数据
if f != os.listdir(r_path)[0]:
f0 = os.listdir(r_path)[os.listdir(r_path).index(f) - 1]
with gzip.open(r_path + "\\" + f0, mode='rt') as fp0:
list0 = [] # 这里不是空,是这个文件所需的数据组成的列表
before =np.array(list0)[-4:,:] # 后4条
# 如果不是最后一个文件,取下一个文件中前3条数据
if f != os.listdir(r_path)[-1]:
f2 = os.listdir(r_path)[os.listdir(r_path).index(f) + 1]
with gzip.open(r_path + "\\" + f2, mode='rt') as fp2:
list2 = [] # 这里不是空,是这个文件所需的数据组成的列表
after = np.array(list2)[:3,:] # 前3条
# 读取第二个至倒数第二个文件中的数据
if f != os.listdir(r_path)[0] and f != os.listdir(r_path)[-1]:
with gzip.open(r_path + "\\" + f, mode='rt') as fp:
#开始进行数据的处理,做插值。
现在看着是挺简单的,文件名是字符串,文件夹下的所有文件名组成一个列表,只需要进行索引就可以获取到上一个和下一个文件。但是一开始思路不清晰,想不明白怎么能获取到下一个文件的数据。