我有一个用Python包装的C库和ctypes,下面有一个DLL 当我要求的时候,它会打印出时间值。但不是经历 并手动要求它打印每个值60000次。我希望它创建自己的包含所有值的列表 下面是我的代码和我包装的库的一个小示例:
import ctypes
from ctypes import *
class SParm(Structure):
pass
SParm._fields_ = [
('name', ctypes.c_char_p),
('data', ctypes.POINTER(ParmData)),
('time', ctypes.POINTER(ctypes.c_float))]
MultiF = (b'path_to_file')
dll = CDLL('path_to_dll')
PN = ctypes.c_char_p(b'Paramter_name')
startTime = ctypes.c_double(-3.4**38)
stopTime = ctypes.c_double(3.4**38)
DT_RETURN = 0x0100
DT_FLOAT = 0x0001
convertType = (DT_RETURNGMT|DT_FLOAT)
Null = 0
dll.readSParm.argtypes = (POINTER(SFile), c_char_p, c_double, c_double, c_double, POINTER(TTag), c_ushort,)
dll.readSParm.restype = POINTER(SParm)
g = dll.readSParm(f, PN, startTime, stopTime, Null, None, convertType)
print(g[0].time[0])
print(g[0].time[1])
print(g[0].time[51999])
这些是代码给我的返回值:
-1031.0762939453125
-1031.0362548828125
0.0
而不是手动要求它将每个值打印51000次,然后手动将所有这些值放入一个列表中。我想要一个能一次打印出所有值的东西。有没有代码可以做到这一点? 也许print()不是将所有值放入列表的最佳方法。你知道吗
我的问题是: 如何打印中包含的所有值
(g[0].time)
不需要手动要求它单独打印出值并将其放入列表中?你知道吗
你可以加入他们
这将创建一个用新行分隔每个值的大字符串。你知道吗
您可以将它们打印为一个列表,具体操作如下:
或分别打印每个值:
相关问题 更多 >
编程相关推荐