我目前正在使用python和qt designer作为从色度计获取浓度值的方法。我目前的GUI有三个按钮," Connect"," Calibrate"和"衡量"。每当我到达测量部分时,它只显示一个浓度值。如果您要在色度计中放置另一个样品,它将删除以前的值并将其替换为新值。
当我写入文件时,我只能保存我测量的最后一个样本,但我希望能够记录每一个测量值。
这是我目前为这个特定部分所写的内容:
def measureSample(self):
sys.stdout.flush()
freqD1, trandD1, absoD1 = dev.getMeasurement(LED_TO_COLOR='D1'])
freqD2, trandD2, absoD2 = dev.getMeasurement(LED_TO_COLOR='D2'])
absoDiff= absoD1 - absoD2
Coeff= 1
Conc = absoDiff/Coeff
Conc3SD = '{Value:1.{digits}f'.format(Value = Conc, digits=3)
self.textEdit.clear()
self.textEdit.setText('Concentration is {0}.format(Conc3SD))
timeStr = time.strftime('%m-%d-%Y %H:%M:%S %Z')
outFile = open('ConcentrationData.txt','w')
outFile.write('{0} || Concentration: {1}'.format(timeStr, Conc3SD))
outFile.close
所以,我的问题是,如何在没有出现在我的GUI上的情况下记录每个浓度值,以及如何将它们写入文件?非常重要的是我只显示一个值,而不是GUI上先前值的列表。
提前致谢!
-Marina
答案 0 :(得分:2)
诀窍在于'w'
来电中的open()
。这意味着您要编写新文件。将其更改为'a'
以附加到现有文件。有关详细信息,请参阅此处:https://docs.python.org/2/library/functions.html#open
另外,您可能会发现\n
的文字字符串字符会在文件中创建一个新行(如果您想要Windows样式的新行,则需要\r\n
- 没有它,打开像记事本这样的东西不会显示新的行)