gpt4 book ai didi

Python 在一个环境中拒绝 text.replace()

转载 作者:行者123 更新时间:2023-11-28 19:27:45 25 4
gpt4 key购买 nike

我一直在 mock pylons 应用程序的以下一些脏支持代码,它在 python-shell、单独的 python 文件或在 paster 中运行时很好。现在,我们已经通过 mod_wsgi 和 apache 将应用程序联机,并且这段特定的代码完全停止工作。首先,代码本身:

def fixStyle(self, text):
t = text.replace('<p>', '<p style="%s">' % (STYLEDEF,))
t = t.replace('class="wide"', 'style="width: 125px; %s"' % (STYLEDEF,))
t = t.replace('<td>', '<td style="%s">' % (STYLEDEF,))
t = t.replace('<a ', '<a style="%s" ' % (LINKSTYLE,))
return t

这看起来很简单,老实说,确实如此。那么当我在其中放入一段文字时会发生什么,例如:

<table><tr><td>Test!</td></tr></table>

输出应该是:

<table><tr><td style="stuff-from-styledef">Test!</td></tr></table>

在大多数系统上都是如此。但是,当我们将其通过 Apache/mod_wsgi 上的应用程序时,会发生以下情况:

<table><tr><td>Test!</td></tr></table>

你猜对了。

我将日志记录放在开始输出文本,最后输出原始文本和 t 变量。它显示了我在此处展示的内容:在大多数系统上,t 已更改,在 apache 环境中未更改。

当然,我确保在每次更改后重新启动 apache(让它重新加载 .py 文件),这反射(reflect)在日志输出中。

我目前不知所措,不知道下一步该去哪里。谷歌搜索并没有真正解决问题,所以我希望你们能提供帮助,或许还能指出使用 whatever-is-causing-this 的一个基本问题。

如果有什么遗漏,我会补上。

最佳答案

添加一些打印语句并检查 Apache 日志:

def fixStyle(self, text):
print "text:", text
print "STYLEDEF", STYLEDEF
t = text.replace('<p>', '<p style="%s">' % (STYLEDEF,))
print "t:", t

关于Python 在一个环境中拒绝 text.replace(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5195626/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com