Prev: Sniffing encoding type by looking at file BOM header
Next: Advice needed on parallel processing in python
From: moerchendiser2k3 on 24 Mar 2010 11:09 Hi, I have a reference to a function and would like to know how to extract information from a function object. Information I am looking for: line and file where this function is from. PyObject_Call can do this to when I call a function object and something failed so these information are written to the traceback. So any suggestions how to do that? Thx!! moerchendiser2k3
From: Gabriel Genellina on 24 Mar 2010 12:49 En Wed, 24 Mar 2010 12:09:27 -0300, moerchendiser2k3 <googler.1.webmaster(a)spamgourmet.com> escribi�: > I have a reference to a function and would like to know how to extract > information from a function object. > > Information I am looking for: line and file where this function is > from. > > PyObject_Call can do this to when I call a function object and > something failed so these information are written to the traceback. So > any suggestions how to do that? See the Language Reference; the associated code object holds the file and starting line the function comes from. The traceback object contains better information (like the line being executed instead of the first one). Why don't you use it instead? -- Gabriel Genellina
From: Stefan Behnel on 25 Mar 2010 03:22
Gabriel Genellina, 24.03.2010 17:49: > En Wed, 24 Mar 2010 12:09:27 -0300, moerchendiser2k3 escribi�: > >> I have a reference to a function and would like to know how to extract >> information from a function object. >> >> Information I am looking for: line and file where this function is >> from. >> >> PyObject_Call can do this to when I call a function object and >> something failed so these information are written to the traceback. So >> any suggestions how to do that? > > See the Language Reference; the associated code object holds the file > and starting line the function comes from. > The traceback object contains better information (like the line being > executed instead of the first one). Why don't you use it instead? Note that this was a follow-up to another recent thread where I managed to extract the details from the OP by stoically asking back, especially the information that this is not about exception handling but rather about reporting incorrect return values. This is a good example when you need a reason why not to split threads on the same subject... Stefan |