[issue9399] Provide a 'print' action for argparse
Éric Araujo
report at bugs.python.org
Fri Feb 4 02:47:13 CET 2011
Éric Araujo <merwok at netwok.org> added the comment:
Thanks for the new patch. It does not apply cleanly to the py3k branch, but that’s very easily corrected.
self.file.write(self.message)
self.file.write('\n')
Could be replaced by
print(self.message, file=self.file)
print will use the right EOL for the platform and is just coooler.
By the way, self.file should not be rebound in __call__:
if self.file is None:
self.file = _sys.stdout
→
file = (self.file if self.file is not None else _sys.stdout)
> Second, there are cases where you want whitespaces to be preserved,
> like printing out the license of your program (as I mentioned in my
> first post) Just look at this BSD license: [...]
> This is just plain ugly.
Agreed, but I did not suggest that the output be like that. In my previous message, I suggested that argparse could replace \n with spaces and do its own line wrapping, to adapt to terminal length while avoiding chunking ugliness. That’s Steven’s call anyway, I don’t have any strong feeling in favor of preserving whitespace or rewrapping. If argparse wraps lines to the terminal width in other cases (like with epilog text), I think it should do so here too.
----------
_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue9399>
_______________________________________
More information about the Python-bugs-list
mailing list