【问题标题】:How to print something in command line/console in from Blender?如何在 Blender 的命令行/控制台中打印一些东西?
【发布时间】:2016-03-10 17:48:43
【问题描述】:

我写了一些脚本来渲染场景并希望在控制台上看到输出我正在使用打印但它不能正常工作我应该使用打印的东西。

我运行脚本:

blender -b -P render.py

想要从 render.py 中输出这样的字符串:

print '#' * 80

这是一个小问题,但 print 不起作用,并且不知道如何在没有调试消息的情况下进行开发。

【问题讨论】:

  • 奇数.. print() 为我工作。
  • print "something" 仅适用于 python2 - blender 使用 python3 仅允许 print ("something")
  • 我会测试它添加我会确认的答案。

标签: blender


【解决方案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

【讨论】:

    猜你喜欢
    • 2022-10-07
    • 2018-04-17
    • 1970-01-01
    • 2019-05-09
    • 1970-01-01
    • 2021-01-31
    • 2021-07-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多