a h wrote: > > thnks. i have used struct.unpack function for small c structure as the > way Tim has suggested. > i have an complex C structure, and passing this structure as a string > and then using struct.unpack() is very tough job.and also i have > pointers in my struct now. > > i want that i have structure say like > struct emp > { > int id; > ... > { > and i just pass this into python function by converting c structure > into python PyObject and using PyObject_CallObject() i can pass this > pyobject. > > In python script i want that i can simply print these values like > def func(s): > print s.id <http://s.id> > > Is it possible to do this way?.
Yes, it's possible to create an object in your C code, then add attributes to it one by one to match your structure, but the code to do so is rather tedious. In my opinion -- and it is only my opinion! -- you're better off using a Python wrapper to create and populate the object. Have you encountered the "swig" library? Swig can read C header files, and generate C and Python code that exposes the structures and function calls to Python. If you need to do this a lot, it might be worthwhile to learn about it. It is a difficult tool to learn, but once you get it, it's incredibly handy. Much of PyWin32 is automatically generated by swig (with careful tweaking). http://www.swig.org/Doc1.3/Python.html -- Tim Roberts, t...@probo.com Providenza & Boekelheide, Inc. _______________________________________________ python-win32 mailing list python-win32@python.org http://mail.python.org/mailman/listinfo/python-win32