Как напечатать что-то в командной строке/консоли из Blender?

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

Я запускаю скрипт с:

blender -b -P render.py

Хотите вывести такую ​​строку из render.py:

print '#' * 80

Это небольшой тривиальный вопрос, но печать не работает, и вы не знаете, как продолжить разработку без сообщений об отладке.


person Chameleon    schedule 02.11.2013    source источник
comment
Странно.. print() у меня работает.   -  person gandalf3    schedule 04.11.2013
comment
print "something" работает только в python2 — блендер использует python3, который позволяет только print ("something")   -  person sambler    schedule 04.11.2013
comment
Я проверю это, добавлю ответ, я подтвержу.   -  person Chameleon    schedule 04.11.2013


Ответы (1)


используйте модуль ведения журнала для настройки собственного регистратора.

вы можете настроить обработчик консоли для вывода содержимого на консоль и/или

formatter = logging.Formatter('%(message)s')
console_handler = logging.StreamHandler(sys.stdout)
console_handler.setFormatter(formatter)

настройте обработчик файлов, если вы хотите войти в файл:

file_handler = logging.FileHandler(log_file)
file_handler.setFormatter(formatter)

# Add the handler to the logger:
logger.addHandler(console_handler)
logger.addHandler(file_handler)

Они оба могут иметь разные уровни ведения журнала, которые вы можете установить с помощью скрипта или переменной среды:

log_level = level
if 'LOG_LEVEL' in os.environ:
    log_level = os.environ['LOG_LEVEL']
console_handler.setLevel(log_level)
file_handler.setLevel('INFO')

Прочтите: https://docs.python.org/3/howto/logging.html< /а>

person Madlaina Kalunder    schedule 10.03.2016