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)