Hvordan gjør jeg monkeypatching i python?

stemmer
7

Jeg har måttet gjøre noen introspeksjon i python, og det var ikke pen:

name = sys._getframe(1).f_code
name = %s:%d %s() %(os.path.split(name.co_filename)[1],name.co_firstlineno,name.co_name)

For å få noe sånt

foo.py:22 bar() blah blah

I vår debugging utgang.

Jeg vil ideelt sett ønsker å foranstille noe til standardfeil med denne typen informasjon - Er det mulig å endre oppførselen til utskrifts globalt innen python?

Publisert på 03/09/2008 klokken 12:35
kilden bruker
På andre språk...                            


2 svar

stemmer
3

En utskrifts uttalelsen gjør sitt IO gjennom "sys.stdout.write" slik at du kan overstyre sys.stdout hvis du ønsker å manipulere utskriftsstrømmen.

Svarte 03/09/2008 kl. 12:42
kilden bruker

stemmer
1

Python inspisere modulen gjør dette mye enklere og renere.

Svarte 03/09/2008 kl. 15:21
kilden bruker

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more