import sys
from PyQt5.QtWidgets import *
from PyQt5.QAxContainer import *
from PyQt5.QtCore import *
import time
sys.stdout = open('A_cook_list.txt'/span>, 'a')
TR_REQ_TIME_INTERVAL = 1.
class Systembox(QAxWidget)。
def __init__(self):
super().__init__()
self._create_sysembox_instance()
self._set_signal_slots()
self.c = 0
self.result=[]
def _create_systembox_instance(self):
跳過...
def _set_signal_slots(self):
跳過...
def comm_connect(self)。
跳過...
def _event_connect(self, err_code):
跳過...
def set_input_value(self, id, value) 。
跳過...
def comm_rq_data(self, skip...
跳過...
def _comm_get_data(self, skip...
漏掉......
def _get_repeat_cnt(self, skip...
漏掉...
def _receive_tr_data(self, skip...
漏掉......
def _AWS10000(self, rqname, trcode)。
cnn = self._get_repeat_cnt(trcode, rqname)
for i in range(cnn)。
date = self._comm_get_data(trcode, rqname, i, "DATA")
self.c = self.c 1
if self.c > 299:
systembox.remain_data = False: 自身.c = 自身.c -299.
if len(self.result) < 300:
self.result.append(date)
if len(self.result) >=300:
self.print_result(self.result)
self.result = []
def print_result(self, result)。
print(result)
if __name__ == "__main__"/span>:
app = QApplication(sys.argv)
systembox = Systembox()
Systembox.comm_connect()
while True:
跳過...
while systembox.resid_data == True:
跳過...
sys.stdout.close()
上述代碼運行良好。 但是,我想以不同的方式輸出上述代碼的最終值。 因此,我將代碼修改如下
skip... def print_result(self, result)。 return result aaa = Systembox() aaa.print_result(result) print(aaa.result) if __name__ == "__main__"/span>: 跳過...
但沒有輸出。
我想在Systmebox類之外控制輸出。 因為。 我試圖把輸出放到一個pandas DataFrame中。 我認為pandas DataFrame應該寫在另一個模塊中。
一個重要的問題是。 我想在 Systmebox 類之外輸出這段代碼。
長久以來,我一直在努力解決這個問題。 請大家多多幫助。
uj5u.com熱心網友回復:
因為你的
。print_result()所做的是回傳result值(然后將被列印)。我認為最好把它去掉,然后把你的代碼修改一下class Systembox(QAxWidget)。 # 一些代碼。 def _AWS10000(self, rqname, trcode)。 cnn = self._get_repeat_cnt(trcode, rqname) for i in range(cnn)。 date = self._comm_get_data(trcode, rqname, i, "DATA"/span>) self.c = self.c 1 if self.c > 299: systembox.remain_data = False: 自身.c = 自身.c -299. if len(self.result) < 300: self.result.append(date) if len(self.result) >= 300: print(self.result) # (1). self.result = [] # def print_result(self, result)。 # 移除這個 # print(result) #當呼叫:
aaa = Systembox() print(aaa.result) # (2) 如果你真的需要知道它的狀態。 # 但它應該是`[]`,因為`aaa`剛剛被創建。 # with empty `result`, as defined in `__init__()`記住,(1)只在
len(self.result) >=300時執行。你最初的result是空的,所以它可能需要幾個動作來輸出一些東西。轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/309352.html
標籤:
