M
mk
Disclaimer: this is for exploring and debugging only. Really.
I can check type or __class__ in the interactive interpreter:
Python 2.6.2 (r262:71600, Jun 16 2009, 16:49:04)
[GCC 4.1.2 20080704 (Red Hat 4.1.2-44)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
But when I do smth like this in code that is ran non-interactively (as
normal program):
req.write('stderr type %s<br>' % type(se))
req.write('stderr class %s<br>' % str(se.__class__))
then I get empty output. WTF?
How do I get the type or __class__ into some object that I can display?
Why do that: e.g. if documentation is incomplete, e.g. documentation on
Popen.communicate() says "communicate() returns a tuple (stdoutdata,
stderrdata)" but doesn't say what is the class of stdoutdata and
stderrdata (a file object to read? a string?).
Regards,
mk
I can check type or __class__ in the interactive interpreter:
Python 2.6.2 (r262:71600, Jun 16 2009, 16:49:04)
[GCC 4.1.2 20080704 (Red Hat 4.1.2-44)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
<type 'str'>>>> import subprocess
>>> p=subprocess.Popen(['/bin/ls'],stdout=subprocess.PIPE,stderr=subprocess.PIPE)
>>> p>>> (so, se) = p.communicate()
>>> so 'abc.txt\nbak\nbox\nbuild\ndead.letter\nDesktop\nhrs\nmbox\nmmultbench\nmmultbench.c\npyinstaller\nscreenlog.0\nshutdown\ntaddm_import.log\nv2\nvm\nworkspace\n'
>>> se ''
>>> so.__class__>>> type(so)>>> type(se)
But when I do smth like this in code that is ran non-interactively (as
normal program):
req.write('stderr type %s<br>' % type(se))
req.write('stderr class %s<br>' % str(se.__class__))
then I get empty output. WTF?
How do I get the type or __class__ into some object that I can display?
Why do that: e.g. if documentation is incomplete, e.g. documentation on
Popen.communicate() says "communicate() returns a tuple (stdoutdata,
stderrdata)" but doesn't say what is the class of stdoutdata and
stderrdata (a file object to read? a string?).
Regards,
mk