Форум сайта python.su
есть гуи на PyQt, по ходу работы из БД вытаскиваются и выполняются куски кода
нужна примивная отладка-хочу видеть результат работы команды print в отдельном окне
может у кого есть пример?
Офлайн
А разве нельзя скрипт из консоли запустить ( В случае Windows переименовать файл, что бы он имел расширение *.py , а не *.pyw) ? По идее туда и будут сыпаться ваши print'ы.
Офлайн
kubloвсе завернуто в py2exe
А разве нельзя скрипт из консоли запустить ( В случае Windows переименовать файл, что бы он имел расширение *.py , а не *.pyw) ? По идее туда и будут сыпаться ваши print'ы.
Офлайн
Наверное правильнее использовать модуль logging
Офлайн
Logging +1)
Если по каким то причинам не устраивает, можно запускать скрипты через subprocess он вывод вернет. В доках все наглядно
Офлайн
from PyQt4 import Qt as qt
import sys
app = qt.QApplication(sys.argv)
mw = qt.QMainWindow()
fr = qt.QFrame()
lt = qt.QVBoxLayout()
btn = qt.QPushButton("Raise some error")
te = qt.QTextEdit()
fr.setLayout(lt)
lt.addWidget(btn)
lt.addWidget(te)
mw.setCentralWidget(fr)
class Logger():
def __init__(self, output):
self.output = output #QTextEdit
def write(self, text):
self.output.moveCursor(qt.QTextCursor.End)
self.output.insertPlainText(text)
def on_btn_clicked(checked):
try:
print("This is my print")
raise Exception("This is my error")
except Exception as ex:
print(ex)
btn.clicked.connect(on_btn_clicked)
logger = Logger(te)
sys.stdout = logger
sys.stderr = logger
mw.show()
app.exec_()
Офлайн
StudentikСпасибо, то что надо
Офлайн