head test.net *Vertices 3 *Edges 1 2 2 3 That did it!
On Tue, Aug 14, 2012 at 3:21 PM, Tamás Nepusz <[email protected]> wrote: > > Thanks! In the meantime, since I can use igraph to write the correct > format, and pipe it to sys.stdout, what would be the best hack for me to > pipe stdout to a file? It feels like another line of code could get the > functionality I need for the moment. > > Well, it's a bit complicated. Since igraph's core is written in C and the > functions that export a graph into a file require a FILE* object in the > low-level C layer, it is not possible to use the standard Python trick, > which would involve swapping sys.stdout with a file object created with the > open() function and then swapping them back when igraph has saved > everything. The only reason why sys.stdout works is because there is a > standard protocol which tells igraph how to 'extract' a file handle from > sys.stdout that we can pass on to igraph_write_graph_pajek in the C layer. > The whole magic is in the igraphmodule_filehandle_init function in > fileobject.c of the Python interface source code, and to be honest, I have > no idea yet why it does not work on RHEL. The function essentially has two > code paths: one that handles plain file names passed in strings, and one > that handles Python's file-like objects such as sys.stdout. You have shown > already that plain file names do not work for you, and > it was the same with passing in an object that was created with Python's > open() function. Theoretically, sys.stdout is no different from any other > file object created with open(), so that's why I think that this is pretty > weird. The only difference I can think of right now is that sys.stdout > auto-flushes the output to the screen after every newline character, while > Python file objects do not necessarily do that. > > Can you please try this code snippet: > > f = open("test.net", "w") > g.write_pajek(f) > f.flush() > f.close() > > -- > T. > > > _______________________________________________ > igraph-help mailing list > [email protected] > https://lists.nongnu.org/mailman/listinfo/igraph-help >
_______________________________________________ igraph-help mailing list [email protected] https://lists.nongnu.org/mailman/listinfo/igraph-help
