Passing a FILE* from Python into a MinGW/SWIG module

Tommy Nordgren tommy.nordgren at comhem.se
Thu Mar 15 13:29:01 EDT 2007


On 14 mar 2007, at 11.57, John Pye wrote:

> Hi all
>
> I understand that I can't hope to pass a FILE* from the Windows
> version of Python into a SWIG module that I've built using MinGW  
> gcc/g+
> +, because apparently the FILE* structure are different and
> incompatible.
>
> Is there an official workaround for this? Presumably I need to
> implement a mingw-compatible version of all the 'file' class in
> Python, eg
>
> import mingw
> import myswigmodule
>
> F1 = mingw.file("newfile.txt","rw")
> F1.write("somestuff")
> F1.seek(0)
> F2 = mingw.tmpfile()
> myswigmodule.dosomething(F1,F2)
> F2.seek(0)
> print F2.read()
>
> Has anyone done this? Is there a better way that doesn't require users
> of my module to adapt? Do I have to use the dreaded MSVS to compile my
> SWIG module?
>
> Cheers
> JP
	Can you get the file descriptor from the FILE *, and use that?

-------------------------------------
This sig is dedicated to the advancement of Nuclear Power
Tommy Nordgren
tommy.nordgren at comhem.se






More information about the Python-list mailing list