(You top-posted. Put your remarks AFTER whatever you quote from earlier messages)

On 12/02/2011 10:47 AM, surya k wrote:
Thanks for the information about unicode.

Actually, I am using python 2.7 in Windows XP.
IDE: PyScripter.

So, I run the same code in IDLE (Python 2.7).. Its working. It isn't
showing the list in unicode format!

Nothing to do with list. Reread my remarks. The string is apparently unicode, presumably from the raw_input() call. The IDE must be changing the type of stdin to make it unicode.

Did you try print repr(name1) ? I'll bet that's also a unicode string.

And you tried it in another IDE, IDLE. But the key question is how it behaves in raw Windows, from a command prompt. The user of your code is unlikely to set up your particular IDE to run something you've written.

As for an IDE, the only free one I use is emacs. I've heard good things about pywin (or something like that), a free IDE that comes with the free ActiveState python. The Active State python also includes some extensions specifically for Windows, and to make it easier to use Windows dll's and com objects. I used to use the ActiveState stuff when I used Windows.

The following material is out of order, but I left it in anyway, for some context.

I've used PyScripter many times before and worked on lists.. but I never
faced any problem like this

--------------------------------------------------
From: "Dave Angel" <d...@davea.name>
Sent: Friday, December 02, 2011 7:43 PM
To: "surya k" <sur...@live.com>
Cc: "Python Tutor" <tutor@python.org>
Subject: Re: [Tutor] unexpected list entry

On 12/02/2011 08:49 AM, surya k wrote:
Hi,

Just take a look at this small code.. I am just taking a string as
input and assigning it as a list.
But I am finding an unexpected entry in the list.. Why this is
happening?

I am using PyScripter IDE.


code :


#!/usr/bin/env python

def main():
pass

if __name__ == '__main__':
main()

print "Flames: "
name1 = raw_input('enter name 1')

ListName1 = list(name1)
print name1
print ListName1


Output:

Flames:
foo
[u'f', u'o', u'o']


Observe the last line.. it isn't showing [ 'f', 'o', 'o']
Why is that "u" coming in the middle from no where ??

The u"" notation just says it's a unicode string. No more confusing
than the [] meaning it's a list. Neither is the content of the object,
just showing you textually what the type is. You should also print
repr(name1) to see if it is likewise a unicode string. I presume it's
already unicode when returned by raw_input().

My puzzle is how you got unicode strings, if you've shown your entire
program. In Python3, all strings are unicode, so it wouldn't bother to
say so. Besides, your code has a syntax error in it, if it's supposed
to be Python 3.x

You probably need to identify your particular version of Python, and
the platform (OS) you're running it on.

But it could be affected by your IDE (Pyscripter), or by a site.py or
other implicitly loaded module.
You can check for the former by running the script from a command shell.

--

DaveA





--

DaveA
_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor

Reply via email to