On Friday, Apr 29, 2005, at 09:48 America/Chicago, [EMAIL PROTECTED] wrote:


Hello and  thanks in advance.
        I am trying to prompt the user for some input. I need three values
from the user so,I used input() like so;
Matrix = input("Matrix=")
error=input("error=")
alpha= input("alpha=")
  using  Macpython it works fine but when I use a terminal all I get is
a blank line. When I try to enter at the command line I get this
Matrix=error=alpha=
Also I need to redirect any output from the program into another file,
which is why I used the terminal in the first place. So, I guess I have
two problems
        1. How do I redirect output using Macpython?
        2. How do I use input() while using a terminal?


It seems to work fine here for me, but I'm not sure what you are trying to do. I'm using Python 2.4 under OS 10.2.8. Perhaps you could paste a copy of the terminal prompts as they appear? Here is what my session looked like when I entered 12 and 4 for two inputs:


###
csmith% cat go.py
a=input('a=')
b=input('b=')
print a,b
csmith% python go.py
a=12
b=4
12 4
###

If I make a file and feed it to the program rather than entering the text by hand I get:

###
csmith% cat > dat
12
4
^C
csmith% python go.py < dat
a=b=12 4
###

If I try to redirect this to a file I get:

###
csmith% python go.py < dat > out
csmith% cat out
a=b=12 4
###

One thing you might try is to change your prompt from something like "a=" to "a=\n"

Which of the above scenarios are you trying to work with and what do you want the result to be? It looks like the input to input() is not echoed so you should do that yourself if you want the values the user entered to be displayed in the file/output. e.g.

###
csmith% cat go2.py
def echoInput(prompt=""):
  ret = input(prompt)
  print ret
  return ret
a=echoInput('a=')
b=echoInput('b=')
print a,b
csmith% python go2.py < dat > out
csmith% cat out
a=12
b=4
12 4
###

/c

_______________________________________________
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor

Reply via email to