unwanted unicode passed to args #710

Closed
jdmarino opened this Issue Aug 19, 2011 · 2 comments

Comments

Projects
None yet
4 participants
@jdmarino

(N00b to python and iPython)

Windows, python2.7, iPython 0.11

When using "run" with args, the receiving program gets unicode, not vanilla strings. This was not the case under 0.1 and is still not the case when python is run from the windows command line (i.e.when not using iPython).

Example: optional arg is a string that looks like a list: 'abc,def'. The receiving proc now gets u'abc,def', which when split() becomes a tuple (u'abc', u'def'). This is a problem for me because the string representation of the tuple is now different than it used to be (it includes the 'u'), so using the string as a key to a shelf stored before the change does not work. (That is, the shelf was made with key "('abc', 'def')" under 0.10, but now I'm trying to find "(u'abc', u'def')" under iPython 0.11 and cannot.)

The lack of default backward compatibility is forcing me to insulate my code with str(). Is there some setting to calm down the use of unicode?

@takluyver

This comment has been minimized.

Show comment
Hide comment
@takluyver

takluyver Aug 19, 2011

Member

At present, I don't think there is. It might get looked into for 0.12 - a couple of people have mentioned it.

Member

takluyver commented Aug 19, 2011

At present, I don't think there is. It might get looked into for 0.12 - a couple of people have mentioned it.

@fperez

This comment has been minimized.

Show comment
Hide comment
@fperez

fperez Aug 19, 2011

Member

Let's mark this as high-priority for 0.12. It's indeed affecting more than one person, and we are breaking (albeit unintentionally) a low-level behavior that programs expect, so it's definitely a bug on our side.

Member

fperez commented Aug 19, 2011

Let's mark this as high-priority for 0.12. It's indeed affecting more than one person, and we are breaking (albeit unintentionally) a low-level behavior that programs expect, so it's definitely a bug on our side.

minrk added a commit to minrk/ipython that referenced this issue Oct 18, 2011

don't inject unicode into sys.argv
Protects %run and `ipython script.py` from getting unicode sys.argv on Python 2

closes #710

@minrk minrk closed this in 71d3d18 Oct 19, 2011

mattvonrocketstein pushed a commit to mattvonrocketstein/ipython that referenced this issue Nov 3, 2014

don't inject unicode into sys.argv
Protects %run and `ipython script.py` from getting unicode sys.argv on Python 2

closes #710
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment