我有一個C庫,我用ctypes封裝了Python,並且我有這個在 以下的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)
所有的值,而無需手動要求它單獨打印出來的值,並把它們放到一個列表?
不應該打印X? –
@AgataAndrzejewska正面!我會糾正它,iuf,我的錯誤 –