从文本文件读取的行中提取值
extract value from line read from text file
我想使用此代码从文件读取的行中提取带宽值
try:
s1 = open(argv[1], "r")
except IOError:
print("server1: fopen");
sys.exit(-1);
lines1 = s1.readlines()
line1 = lines1[c]
print line1
f1 = re.split('.Bytes.*', line1)
print f1
该行包含这个表达式
[ 4] 0.0- 1.0 sec 218 KBytes 1.79 Mbits/sec
和
print f1
给出这个值
['[ 4] 0.0- 1.0 sec 218 ', '\n']
我想读取最后一个带有 M 字母的数字,然后将数字计算为
if M
B = 1.79*1000000
else if K
B = 1.79*1000
并且B必须是浮点数
如何提取最后一个值?
你也可以不用正则表达式来做到这一点。
splitted = filter(None, line1.split())
speed = float(splitted[-2])
unit = splitted[-1]
if "M" in unit:
B = speed*1000000
else if "K" in unit
B = speed*1000
告诉我它是如何工作的 -- 我还没有测试过。
我想使用此代码从文件读取的行中提取带宽值
try:
s1 = open(argv[1], "r")
except IOError:
print("server1: fopen");
sys.exit(-1);
lines1 = s1.readlines()
line1 = lines1[c]
print line1
f1 = re.split('.Bytes.*', line1)
print f1
该行包含这个表达式
[ 4] 0.0- 1.0 sec 218 KBytes 1.79 Mbits/sec
和
print f1
给出这个值
['[ 4] 0.0- 1.0 sec 218 ', '\n']
我想读取最后一个带有 M 字母的数字,然后将数字计算为
if M
B = 1.79*1000000
else if K
B = 1.79*1000
并且B必须是浮点数
如何提取最后一个值?
你也可以不用正则表达式来做到这一点。
splitted = filter(None, line1.split())
speed = float(splitted[-2])
unit = splitted[-1]
if "M" in unit:
B = speed*1000000
else if "K" in unit
B = speed*1000
告诉我它是如何工作的 -- 我还没有测试过。