我想使用此代码
从文件读取行中提取带宽值 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必须是浮点数
如何提取最后一个值?
答案 0 :(得分:1)
你可以在没有正则表达式的情况下这样做。
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
让我知道它是如何工作的 - 我还没有测试过它。