[Python-Dev] Calling a builtin from C code; PEP 3101 format() builtin
Eric Smith
eric+python-dev at trueblade.com
Thu Feb 14 13:16:03 CET 2008
While implementing "".format(), I need to call the builtin format()
function, which I've already implemented (in
bltinmodule.c:builtin_format()). In the py3k branch, I just hardcoded
the same functionality into "".format(), which seems like the wrong
thing to do, given how complex the code is.
I see 2 approaches:
1: exposing builtin_format(), probably giving it another name
(PyObject_Format?) and moving it somewhere other than bltinmodule.c.
2: Instead of calling the C code directly, lookup "format" in Python's
builtins, and call it. This, I think, would allow you to override the
global format() function if you wanted to modify the behavior (although
I can't think of any use case for wanting to do that).
I don't see where either behavior is specified in the PEP.
If option 2 is preferred, could someone give me a pointer to how to find
a builtin function from C code?
Thanks.
More information about the Python-Dev
mailing list