from myfolder import typing_commands as tcm
import sys, StringIO
class InfoTest(StartUpTest):
IS_TEST = True
def __init__(self):
super(InfoTest, self).__init__()
def setup(self):
return
def runtest(self):
tcm.erase_flash()
self.boot() # boot method is defined in StartUpTest class
time.sleep(20)
tcm.info_read() #Here it prints all the info see o/p1
#To get The printed data in list form
old_stdout = sys.stdout
capturer = StringIO.StringIO()
sys.stdout = capturer
tcm.info_read()
sys.stdout = old_stdout
output = capturer.getvalue().splitlines()
for each in output[8:]:
print each, type(each)
print type(output) #see o/p2
return
о/p1:Получение отпечатков в виде списка и доступа к каждому из этих
Info as desired:
Downloading Logs...
Info Downloaded!
####################
Info Entry 1:
####################
Type : Survey
Survey_time : 2014-09-05 10:10:40
Inclination (deg): 45
Temperature (C) : 30.00
Battery_Voltage (mV): 24.0
о/p2:
Survey_time : 2014-09-05 10:11:44 <type 'str'>
Inclination (deg): 45 <type 'str'>
Temperature (C) : 30.00 <type 'str'>
Battery_Voltage (mV): 24.0 <type 'str'>
<type 'list'>
Теперь моя проблема заключается в том, что я в состоянии получите output
в виде списка, each
из output
на самом деле str
. Я хочу проверить, находится ли Battery_Voltage
в диапазоне от i.e более 20 В и аналогичен другим, например. Temperature
и Inclination
. Как мне извлечь значения для каждого, чтобы я мог выполнить их проверку? Также мне пришлось жестко запрограммировать его, чтобы обратиться к моему набору проверок, например.
for each in output[8:]:
print each, type(each)
Есть ли лучший способ сделать это?
Спасибо, тонна .. Работает безупречно !! – tryPy