抱歉,如果这是重复的,但我现在找不到。
基本上,我正在打开并读取一个dat
文件,其中包含我需要循环获取某些信息的大量路径。
文件中的每一行都base.dat
包含m.somenumber
. 例如,文件中的某些行可能是:
Volumes/hard_disc/u14_cut//u14m12.40_all.beta/beta8
Volumes/hard_disc/u14_cut/u14m12.50_all.beta/beta8
Volumes/hard_disc/u14_cut/u14m11.40_all.beta/beta8
我需要能够重新编写 dat 文件,以便将所有行从最大的 m.number 重新排序到最小的 m.number。然后,当我在数据库中循环 PATH(显示在代码中)时,我正在循环减少 m。
这是代码的相关部分
base = open('base8.dat', 'r')
database= base.read().splitlines()
base.close()
counter=0
mu_list=np.array([])
delta_list=np.array([])
ofsset = 0.00136
beta=0
for PATH in database:
if os.path.exists(str(PATH)+'/CHI/optimal_spectral_function_CHI.dat'):
n1_array = numpy.loadtxt(str(PATH)+'/AVERAGES/av-err.n.dat')
n7_array= numpy.loadtxt(str(PATH)+'/AVERAGES/av-err.npx.dat')
n1_mean = n1_array[0]
delta=round(float(5.0+ofsset-(n1_array[0]*2.+4.*n7_array[0])),6)
par = open(str(PATH)+"/params10", "r")
for line in par:
counter= counter+1
if re.match("mu", line):
mioMU= re.findall('\d+', line.translate(None, ';'))
mioMU2=line.split()[2][:-1]
mu=mioMU2
print mu, delta, PATH
mu_list=np.append(mu_list, mu)
delta_list=np.append(delta_list,delta)
optimal_counter=0
print delta_list, mu_list
我已经检查了可能的标记重复,但我似乎无法让它为我工作,因为我的文件在技术上不包含字符串和数字。我需要排序的“数字”包含在整个字符串中:
Volumes/data_disc/u14_cut/from_met/u14m11.40_all.beta/beta16
我需要通过 m(somenumber) 部分对整行进行排序