raw_input can't handle pound sign?

Jugdish danebarney at gmail.com
Sat Dec 27 00:10:59 EST 2008


Ahh ok, tried out your example and it works just fine. Turns out the
actual problem is what I was doing with the input. Elsewhere, I call
urlparse.urlparse() on the filename past in, which splits up the
filename where the # sign is, so that's why it looked to me like the
characters after the # were getting stripped away.

Thanks for your help, in the future I'll try to do a bit more
debugging of my own scripts before bringing my problems here! :)

On Dec 26, 9:00 pm, Steven D'Aprano <st... at REMOVE-THIS-
cybersource.com.au> wrote:
> On Fri, 26 Dec 2008 20:20:16 -0800, Jugdish wrote:
> > Hi, I'm having problems getting a pound sign to go through as input sent
> > to the raw_input() command. I'm running Python 2.5.1 on Windows XP.
> > Here's my simple little script:
>
> > while True:
> >     response = raw_input("Please enter a file name: ") if
> >     os.path.exists(response):
> >         break
>
> > Problem is if the filename has a "#" in it, the script interprets that
> > as the beginning of a comment (not sure why -- isn't raw_input supposed
> > to treat the user's input as raw text and not do any sort of evals?)
>
> Yes it is. What makes you think it is being interpreted as a comment?
> What results are you getting?
>
> > Any ideas how to get a # to go through? Thanks!
>
> Works for me (although I'm not using Windows XP).
>
> Can you execute this line at the interactive interpreter?
>
> print raw_input("Type something with a hash sign: ")
>
> At the prompt, type "test # string" (without the quotes) and show us what
> result you get. When I do this, I get the following:
>
> >>> print raw_input("Type something with a hash sign: ")
>
> Type something with a hash sign: test # string
> test # string
>
> --
> Steven




More information about the Python-list mailing list