[u2c.py] Fix unicode files argument handling for Python 2.7 #388
+3
−1
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
As mentioned in https://stackoverflow.com/questions/22947181/dont-argparse-read-unicode-from-commandline it is a known issue with Python 2.7 and
argparse
because Python 2.7 treatssys.argv
as a list of byte strings, not Unicode strings, while Python 3 does. So when passing infiles
which contains unicode (Chinese, Japanese...) results in the following error:This PR fixes this by explicitly specifying encoding when handling
files
arg. It's only effective for Python 2, no behavior change is expected for Python 3.Note that this issue might happen to other arguments using
type=unicode
(e.g.url
) but I suppose fixingfiles
arg should be the most useful case. I haven't tested for other args yet.This PR complies with the DCO; https://developercertificate.org/