Python 为什么这个正则表达式不返回任何内容?

Python 为什么这个正则表达式不返回任何内容?,python,regex,Python,Regex,我最近一直在从事机器学习领域的一个项目,我在使用数据所需的正则表达式时遇到了一些问题。出于某种原因,它没有像应该的那样返回十进制值,而是返回一个无值。有什么建议吗?下面是我的代码,以及我试图从中获取数据的文件 for list_num in range(0,92): mach = [3,4,5,6,7] for j in range(0,4): if list_num >= 0 and list_num <= 4: if os.

我最近一直在从事机器学习领域的一个项目,我在使用数据所需的正则表达式时遇到了一些问题。出于某种原因,它没有像应该的那样返回十进制值,而是返回一个无值。有什么建议吗?下面是我的代码,以及我试图从中获取数据的文件

for list_num in range(0,92):
    mach = [3,4,5,6,7]
    for j in range(0,4):
        if list_num >= 0 and list_num <= 4:
            if os.path.isfile('C://Users/avickers/Desktop/XFOIL_Training_Data/listofoutputs/listofoutputs0006'+str(mach[j])+'.pol'):
                tempaccess = os.listdir('C://Users/avickers/Desktop/XFOIL_Training_Data/listofoutputs')
                with open('C://Users/avickers/Desktop/XFOIL_Training_Data/listofoutputs/listofoutputs0006'+str(mach[j])+'.pol','r') as tempfile:
                    lines = tempfile.readlines()
                    file = tempfile.read()
                name = '0006'
                f = open('C://Users/avickers/Desktop/XFOIL_Training_Data/listofoutputs/data.pol','a+')
                Re =  re.search(r'Re\s*=\s*(\d\.\d+)',file)
                AOA = []
                Dl = []
                Dd = []
                num=0
                for line in lines[12:]:
                    columns = line.split()
                    AOA.append(columns[0])
                    Dl.append(columns[1])
                    Dd.append(columns[2])
                    num += 1
                for i in range(0,num):
                    f.write(name+' ')
                    f.write(str(mach[j]/10)+' ')
                    f.write(str(Re)+' ')
                    f.write(AOA[i]+' ')
                    f.write(Dl[i]+' ')
                    f.write(Dd[i]+'\n')

我试图提取的具体值是Re。谢谢

没有的原因是
文件
没有任何内容

lines = tempfile.readlines()
file = tempfile.read()
使用readlines()完成行后,指针
tempfile
位于末尾。您不能再次使用它进行读取。您需要再次打开文件

x="""XFOIL         Version 6.99
Calculated polar for: NACA 0006
1 1 Reynolds number fixed          Mach number fixed

xtrf =   1.000 (top)        1.000 (bottom)
Mach =   0.300     Re =     2.213 e 6     Ncrit =   9.000

alpha    CL        CD       CDp       CM      Cpmin   XCpmin   Top_Xtr
Bot_Xtr
------ -------- --------- --------- -------- -------- -------- -------- ----
-10.000  -0.7244   0.11348   0.11239   0.0360  -3.2095   0.0001   1.0000
 0.0032
-9.500  -0.7284   0.10263   0.10156   0.0311  -3.6224   0.0001   1.0000
0.0033
-9.000  -0.7330   0.09190   0.09085   0.0257  -3.9746   0.0001   1.0000
0.0036"""

import re
print re.search(r"Re\s*=\s*(\d\.\d+)", x).group(1)
使用
组(1)
。 它打印
2.123

x="""XFOIL         Version 6.99
Calculated polar for: NACA 0006
1 1 Reynolds number fixed          Mach number fixed

xtrf =   1.000 (top)        1.000 (bottom)
Mach =   0.300     Re =     2.213 e 6     Ncrit =   9.000

alpha    CL        CD       CDp       CM      Cpmin   XCpmin   Top_Xtr
Bot_Xtr
------ -------- --------- --------- -------- -------- -------- -------- ----
-10.000  -0.7244   0.11348   0.11239   0.0360  -3.2095   0.0001   1.0000
 0.0032
-9.500  -0.7284   0.10263   0.10156   0.0311  -3.6224   0.0001   1.0000
0.0033
-9.000  -0.7330   0.09190   0.09085   0.0257  -3.9746   0.0001   1.0000
0.0036"""

import re
print re.search(r"Re\s*=\s*(\d\.\d+)", x).group(1)