pystdf\pystdf\Writers.py 中的text_format方法需带self
直接上代码
@staticmethod
def text_format(self,rectype, field_index, value):
field_type = rectype.fieldStdfTypes[field_index]
if value is None:
return ""
elif rectype is V4.gdr:
return self.delimiter.join([str(v) for v in value])
elif field_type[0] == 'k': # An Array of some other type
return ','.join([format_by_type(v, field_type[2:]) for v in value])
elif rectype is V4.mir or rectype is V4.mrr:
field_name = rectype.fieldNames[field_index]
if field_name.endswith('_T'): # A Date-Time in an MIR/MRR
return strftime('%H:%M:%S %d-%b-%Y', localtime(value))
else:
return str(value)
else:
return str(value)
# 第二个需要改的地方
def after_send(self, dataSource, data):
line = '%s%s%s\n' % (data[0].__class__.__name__.upper(),self.delimiter,
self.delimiter.join([self.text_format(self,data[0], i, val) for i, val in enumerate(data[1])]))
self.stream.write(line)