Python 2.7 に ctypes の書式設定された文字列を出力させようとしていますPOINTER(<type>)
。POINTER と overload から継承するクラスを作成することにしました__str__
。残念ながら、このコードを実行すると:
from ctypes import *
pc_int = POINTER(c_int)
class PInt(pc_int):
def __str__(self):
return "Very nice formatting ", self.contents
print pc_int(c_int(5))
print PInt(c_int(5))
そのような例外で失敗します
$ python playground.py
<__main__.LP_c_int object at 0x7f67fbedfb00>
Traceback (most recent call last):
File "playground.py", line 9, in <module>
print PInt(c_int(5))
TypeError: Cannot create instance: has no _type_
予想される効果をきれいに達成する方法や、この例外の意味を知っている人はいますか?
「TypeError: Cannot create instance: has no type 」の Google 検索結果は 1 つしかなく、あまり役に立ちません。
ありがとう!