Использование входных данных, собранных из raw_input в Python - PullRequest
0 голосов
/ 29 января 2009

Если я сделаю следующее в python,

string = raw_input('Enter the value')

вернется

Введите значение

и подождите, пока я не введу что-либо в приглашение.

Есть ли способ получить / собрать данные, которые я ввел в переменную string?

Я хотел бы использовать введенное значение следующим образом:

if dict.has_key('string'):
          print dict[string]

Примечание: Ранее я допустил ошибку при использовании raw_string, но я хотел сказать raw_input

Ответы [ 4 ]

5 голосов
/ 29 января 2009

нет функции raw_string в stdlib Python. ты имеешь ввиду raw_input?

string = raw_input("Enter the value")     # or just input in python3.0
print(string)
4 голосов
/ 29 января 2009

Это очень сбивает с толку ... Я не знаком с функцией raw_string в Python, но, возможно, она специфична для конкретного приложения?

Чтение строки ввода в Python можно сделать так:

import sys
line = sys.stdin.readline()

Тогда у вас есть эта строка, заканчивающаяся переводом строки и всем, в строке переменной, так что вы можете работать с ней, например, используйте для этого хеш-ключ:

line = line.strip()
if line in dict: print dict[line]

Первая строка удаляет этот завершающий символ новой строки, поскольку у ваших хеш-ключей, вероятно, их нет.

Надеюсь, это поможет, иначе, пожалуйста, попробуйте немного прояснить вопрос.

3 голосов
/ 29 января 2009

Это то, что вы хотите сделать?

string = raw_input('Enter a value: ')
string = string.strip()
if string in dict: print dict[string]
0 голосов
/ 20 июня 2012

import readline предоставляет полный запрос терминала для функции raw_input. Вы получаете управляющие ключи и историю таким образом. В противном случае он не лучше, чем опция sys.stdin.readline().

import readline

while True:
    value = raw_input('Enter a value: ')
    value = value.strip()
    if value.lower() == 'quit': break
...