2

如何在 .cpy 文件(python)中打印?我正在使用 Zope/Plone,我刚刚开始使用 Python。我试过这个

import logging

logger = logging.getLogger()
logger.info("hello plone")

但它不起作用。

谢谢您的回答

4

2 回答 2

2

“它不起作用”非常含糊,但您的问题可能是违反了强加于 Python 的安全沙箱,这些脚本用于可通过网络进行编辑的脚本。“受限制的 Python” 将您的导入限制为已经过审计的模块,以确保它们没有令人讨厌的副作用——比如将噪音倾倒到日志中。有关受限 Python 的详细信息,请参阅http://wiki.zope.org/zope2/PythonScripts

此类问题的一般解决方案是在 Python 包中的不受限制的 Python 中构建您的功能。Zope 命名实用程序是提供此类功能的常用机制,您可以通过遍历命名实用程序从受限 Python 访问实用程序的操作。

于 2012-07-19T15:44:56.747 回答
2

上面的答案意味着您不能在 RestrictedPython 脚本中导入任何模块,这些脚本是可通过网络编辑的 Plone 脚本。这些脚本具有最终用户权限,因此不允许它们运行任意 Python 代码。

http://collective-docs.readthedocs.org/en/latest/security/sandboxing.html

您可以context.plone_log("mystring")在受限制的 python 脚本中使用样式日志记录来进行日志记录。

于 2012-07-19T19:57:11.457 回答