[issue10197] subprocess.getoutput fails on win32

R. David Murray report at bugs.python.org
Tue Oct 26 15:29:17 CEST 2010


R. David Murray <rdmurray at bitdance.com> added the comment:

Oddly, the test suite skips getoutput and getstatusoutput on windows with the comment that the source says it is relevant only for posix, but the documentation does not have 'availability: unix' tags.  (It is also odd that getoutput isn't documented, but that's a different issue.)

Your workaround can't be used as a fix, since the semantics of {}s in the shell are different from those of ()s.

It's not clear to me what the point of the {}s is, but I have a fear that eliminating them would introduce subtle changes in the behavior of getoutput calls.  Perhaps not, though.

It looks like this issue amounts to an RFE for support of getoutput/getstatusoutput on Windows, though the fact that it is not documented as unix-only may make it a bug instead :)

The appropriate fix is probably to conditionalize the code based on platform.  A complete patch will require unit test changes and documentation changes (since the docs currently mention the braces).

All of that said, it also appears that the new check_output should be preferred to either getoutput or getstatusoutput.  Perhaps those functions could be re-implemented in terms of check_output.

----------
nosy: +r.david.murray

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue10197>
_______________________________________


More information about the Python-bugs-list mailing list