我使用cgitb (python 2.7)来创建html文档服务器端。我有一个文件,它做了一堆查询,然后产生html。我希望能够只链接的html,所以如果我可以打印的html到一个新的文件和链接,它将工作。
有没有一种方法可以获得页面在处理结束时生成的html,这样我就可以把它放到一个新文件中,而不需要跟踪我到目前为止所做的一切?
编辑:在此处找到一个剪辑:https://stackoverflow.com/a/616686/1576740
class Tee(object):
def __init__(self, name, mode):
self.file = open(name, mode)
self.stdout = sys.stdout
sys.stdout = self
def __del__(self):
sys.stdout = self.stdout
self.file.close()
def write(self, data):
self.file.write(data)
self.stdout.write(data)您必须在导入cgi后调用它,因为它以一种不太友好的方式覆盖了标准输出。但效果就像一个护身符。
我刚刚导入了cgi;.......Tee(filname,"w"),然后我就有了指向该文件的链接。
发布于 2012-08-22 01:43:45
从Python Documentation
或者,您可以将此信息保存到文件中,而不是将其发送到浏览器。
在这种情况下,您可能希望使用
cgitb.enable(display=1, logdir=directory)发布于 2018-03-21 23:22:20
import cgitb
import sys
try:
...
except:
with open("/path/to/file.html", "w") as fd:
fd.write(cgitb.html(sys.exc_info()))https://stackoverflow.com/questions/12059674
复制相似问题