Python input that ends without showing a newline

2019-05-11 04:17发布

问题:

Is there an python function similar to raw_input but that doesn't show a newline when you press enter. For example, when you press enter in a Forth prompt it doesn't show a newline.
Edit:
If I use the code:

data = raw_input('Prompt: ')
print data

than the output could be:

Prompt: Hello
Hello

because it printed a newline when I pressed enter. I want a function similar to raw_input that doesn't show the newline. So if the function I wanted was called special_input and I used the code:

data = special_input('Prompt: ')
print data

than the output would be something like:

Prompt: Hello Hello

回答1:

Yes, there are other ways to read a line like raw_input

You can use sys.stdin():

import sys
line = sys.stdin.readline()

Or if you want to get a password you can also use getpass.getpass():

import getpass
line = getpass.getpass()

But if you want something more fancy you will need to use curses