ввод с терминала не отображается

#python

#python

Вопрос:

 import subprocess
import threading
import time

class terminal(threading.Thread):
    def run(self):
        self.prompt()


    def prompt(self):
        x = True
        while x:
            command = raw_input()
            x = self.interpret(command)

    def interpret(self,command):
        if command == 'exit':
            #_conf.cancel()
            #_conf.allclear.wait()
            return False
        else:
            print 'Invalid Command'
        return True

command = 'java -jar ../bukkit/craftbukkit.jar'
#startcmd = 'java -Xmx'   str(self.config['start_heap'])   'M -Xms'   str(self.config['max_heap'])    'M -jar '   str(path)
#stopcmd = 'screen -S '   self.config['screen_bukkit']   ' -p 0 -X stuff "`printf "stopr"`"'
term = terminal()
term.start()
p = subprocess.Popen(command, shell=True, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
while (p.poll() == None):
    line = p.stderr.readline()
    if not line: break
    print line.strip()
    time.sleep(0.1)
  

Это мой упрощенный код. Выполняется без ошибок, однако при вводе для raw_input() в классе terminal ничего из того, что я вводил, не отображается в командной строке. Что не так?

Ответ №1:

raw_input принимает текст приглашения в качестве параметра и по умолчанию принимает пустую строку. Попробуйте изменить его на raw_input("input: ") или что-то в этом роде.

Комментарии:

1. Несмотря на то, что мне придется искать на одну вещь меньше, проблема не в этом. Дело не в том, что нет подсказки, а в том, что то, что я набираю, не отображается