2024-04-29 05:41:44 发布
网友
我有一个程序,每分钟轮询服务器的当前Wi-Fi状态,并将这些信息保存到.txt文件中。输出为:
*****当前WIFI信号强度****:链路质量=57/70信号电平=-53 dBm
文本文件包含许多这样的行。我要做的是: -找到所有行中的signal dBm值,并将它们附加到一个数组中,这样我就可以执行其他函数,比如sort和average。我好像不能很好地工作。在
有人知道怎么做吗?在
谢谢你!在
假设signal level是任何行上唯一的负数,那么可以使用正则表达式和findall函数来搜索文件中的所有负数,并将它们作为字符串列表返回(基于MC93的答案)。在
import re f_in = open("input.txt", "r") signal_levels = re.findall("-\d+", f_in.read())
或者,您可以得到一个包含列表理解的int列表。在
我将遍历文件中的每一行并在=处拆分行,然后得到最后一个值,在空格处拆分它,然后得到第一个值,该值将生成-53。在
=
-53
strengthValues = [] f = open("input.txt", "r") fileLines = f.readlines() for line in fileLines: lineSplit = line.split('=') strengthValues.append(lineSplit[-1].split()[0]) print strengthValues
或列表理解:
signal_levels = [] try: with open("file.txt") as fh: lines = fh.readlines() except IOError as err: # error handling
然后您可以使用^{}模块:
或者没有它(灵感来自heinst's answer):
for line in lines: try: value = int(line.split('=')[-1].split()[0]) signal_levels.append(value) except ValueError as err: # possible error handling
假设signal level是任何行上唯一的负数,那么可以使用正则表达式和findall函数来搜索文件中的所有负数,并将它们作为字符串列表返回(基于MC93的答案)。在
或者,您可以得到一个包含列表理解的int列表。在
^{pr2}$我将遍历文件中的每一行并在
=
处拆分行,然后得到最后一个值,在空格处拆分它,然后得到第一个值,该值将生成-53
。在或列表理解:
^{pr2}$然后您可以使用^{} 模块:
^{pr2}$或者没有它(灵感来自heinst's answer):
相关问题 更多 >
编程相关推荐