Jump to content
Korean Random
Sib78

Как вывести значение переменной в консоль Python

Recommended Posts

Здравствуйте уважаемые форумчане! 

Поставил перед собой задачу вывести в консоль  питона из World Of Tanks значение переменной , но чувствую что не по зубам задачка , хотя с виду простая.

Пример:
import BigWorld
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
print 'Hello'

Но сообщение выводится только после закрытия

 

 

 

А в идеале хочу вот так сделать:

 

'Код'

import BigWorld
import sys
from gui import SystemMessages
from Account import Account
Var = 'Hello User!!!':

link = Account.onBecomePlayer
def _First(self):
        link(self)
        msg = 'Var'
        type = SystemMessages.SM_TYPE.Information
        SystemMessages.pushMessage(msg, type)
        Account.onBecomePlayer = link
Account.onBecomePlayer = _First

 

И если загрузился мод то сразу сообщение в консоль:

sys.setdefaultencoding('utf-8')
 print 'Var'

Уже несколько дней терзаю гугл и свой мозг)) Не работает...

Уважаемые Гуру форума, буду признателен за любую адекватную критику и полезные ссылки.

Edited by Sib78

Share this post


Link to post

Short link
Share on other sites

 

import BigWorld
def _autoFlushPythonLog():
    BigWorld.flushPythonLog()
    BigWorld.callback(0.1, _autoFlushPythonLog)
_autoFlushPythonLog()
  • Upvote 1

Share this post


Link to post

Short link
Share on other sites
import BigWorld
def _autoFlushPythonLog():
    BigWorld.flushPythonLog()
    BigWorld.callback(0.1, _autoFlushPythonLog)
_autoFlushPythonLog()

 

Скажите я правильно понял 

_autoFlushPythonLog(Var)  выведет переменную в консоль?

Share this post


Link to post

Short link
Share on other sites

Нет


Это был ответ на вопрос "Но сообщение выводится только после закрытия"

Share this post


Link to post

Short link
Share on other sites

Нет

Это был ответ на вопрос "Но сообщение выводится только после закрытия"

 

Спасибо огромное за оперативную помощь и за то что откликнулись, сложновато для меня как для начинающего..

Возможно через сокеты будет по проще организовать обмен данными..

Edited by Sib78

Share this post


Link to post

Short link
Share on other sites
import BigWorld
def _autoFlushPythonLog():
    BigWorld.flushPythonLog()
    BigWorld.callback(0.1, _autoFlushPythonLog)
_autoFlushPythonLog()

 

Хук логов с обновлением через 1 десятую секунды в цикле))) Оказалось что ларчик просто открывался нужно было :

import BigWorld
import sys
from gui import SystemMessages
from Account import Account
Var = 'Hello User!!!':

link = Account.onBecomePlayer
def _First(self):
        link(self)
        msg = 'Var'
        type = SystemMessages.SM_TYPE.Information
        SystemMessages.pushMessage(msg, type)
        print 'Сообщение'
        Account.onBecomePlayer = link
Account.onBecomePlayer = _First

Share this post


Link to post

Short link
Share on other sites

Это ВГшный код :)

Твой вариант слишком тяжелый, если нужно много логов.

UPD: Только сейчас понял, что вы "консолью" называете системный канал.

Или нет... Что за консоль-то?

Share this post


Link to post

Short link
Share on other sites

Это ВГшный код :)

Твой вариант слишком тяжелый, если нужно много логов.

UPD: Только сейчас понял, что вы "консолью" называете системный канал.

Или нет... Что за консоль-то?

 

Совершенно верно , видимо я не правильно выразился, назвал консолью системный канал, изначально хотел отправлять в него события из ангара во внешнее приложение... Но решил не извращаться и запилил это дело на UDP сокетах , получилось гораздо эффективнее) А код действительно картофельный)

 

 

 

PS:

Отвечу на свой вопрос)) 

Есть переменная var = 5

 

Вывод в строковом виде...

print('Per = %s' % var)

Результат :

  2017-08-28 22:34:44.805: INFO:   5
Edited by Serfer_78

Share this post


Link to post

Short link
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...