Python - печать на stdout на "терминале"

Прежде чем начать, я прошу вас всех извиниться за вопрос. Может быть, это глупо, но я не могу найти решение. Я работаю на удаленной машине и понятия не имею, какой тип.

Мой код python, который, похоже, работает, - это ниже. Проблема в том, что я пытаюсь напечатать некоторые выходы на экране, но ничего не происходит. Я пробовал как print, так и raw_input, но ничего не происходит ... Вы знаете какой-либо другой способ сделать это?

# Set up fields of reply message based on query
def prepareReply():
    global authorReply, authorReplyLen, localConvId, originConvId, blbContentAndUntUnz, linkName

    print "PLOP!"
    raw_input("blabla")

    #print "="*10

Благодаря !

python,stdout,

3

Ответов: 3


4 принят

Чтобы перенаправить stdout на то, что вы можете прочитать, файл в этом случае:

class PyLogger:

  def __init__(self, source):
    self.file_handle = open('Python_Log.txt', 'a')
    self.source=source
    self.buf = []

  def write(self, data):
    self.buf.append(data)
    if data.endswith('
'):
      self.file_handle = open('Python_Log.txt', 'a')
      self.file_handle.write('	' * indent_level)
      self.file_handle.write(self.source + "::" + ''.join(self.buf))
      self.file_handle.close()
      self.buf = []

  def __del__(self):
    if self.buf != []:
      self.file_handle = open('Python_Log.txt', 'a')
      self.file_handle.write('	' * indent_level)
      self.file_handle.write(self.source + "::" + ''.join(self.buf) + '
')
      self.file_handle.close()      
    self.file_handle.close()

import sys
sys.stdout = PyLogger('stdout')
sys.stderr = PyLogger('stderr')

9
import sys
print "Hi!"
sys.stdout.flush()

2

Это дикая догадка, но, глядя на формулировку в ваших комментариях, это может быть приложение веб-сервера (подсказка: более подробная информация о вашей среде была бы полезна). В этом случае stdout, вероятно, собирается куда-то еще, по крайней мере, не в браузер.

Как вы на самом деле запускаете этот код? Вы вводите «python myprogram.py» в командной строке, или вы нажимаете «Обновить» в своем браузере?

питон, стандартный вывод,
Похожие вопросы