Python 将文本文件中的值存储到变量并返回它
有没有办法读取文本文件中的特定值并将其存储在变量中? 例如,我的文件中有以下损失值:Python 将文本文件中的值存储到变量并返回它,python,text,Python,Text,有没有办法读取文本文件中的特定值并将其存储在变量中? 例如,我的文件中有以下损失值: Loss per inch @ 2.500000e+00 GHz = -0.578 dB 是否有一种方法可以仅检索频率点和等号后的值,并将该值存储在可由python函数返回的变量中?尝试以下方法: with open('file.txt') as file: l=[] for line in file.readlines(): line_array = line.split('
Loss per inch @ 2.500000e+00 GHz = -0.578 dB
是否有一种方法可以仅检索频率点和等号后的值,并将该值存储在可由python函数返回的变量中?尝试以下方法:
with open('file.txt') as file:
l=[]
for line in file.readlines():
line_array = line.split(' ')
l.append=(line_array[0], line_array[4], line_array[7])
在此之后,l
将:
[
('Loss', '2.500000e+00', '-0.578')
]
告诉我是否需要不同结构的值,而不是元组列表。使用正则表达式:
import re
s = """Loss per inch @ 2.500000e+00 GHz = -0.578 dB
Loss per inch @ 5 GHz = -1.011 dB"""
freq = re.findall("\@\s+(.*)GHz", s)
val = re.findall("GHz\s+\=(.*)dB", s)
for i in zip(freq, val):
print(i)
输出:
('2.500000e+00 ', ' -0.578 ')
('5 ', ' -1.011 ')
你有机会看过字符串方法吗?所以如果不同频率有多行损耗,比如:每英寸损耗@2.500000e+00GHz=-0.578dB每英寸损耗@5GHz=-1.011dB,我该如何更改它?如果有多行要读取,则按顺序执行每次搜索将非常繁琐。您可以使用
re.findall
使m成为所有值的列表?更新的代码段。