【问题标题】:Writing output of a python script to HTML with CGI使用 CGI 将 python 脚本的输出写入 HTML
【发布时间】:2011-05-08 01:29:53
【问题描述】:

我有一个 Python 脚本,它从一个文件中提取一些文本并注释另一个文件,将结果写入一个新文件。因为我注释的文件是 ASCII,所以我对如何注释文本非常有限,我想将结果写入 HTML,以便我可以通过更改某些部分的文本颜色来进行注释。 我注释的文本文件部分只是一个字符串(例如 ACTFNKJLKD),它在我正在读取的文本文件中重复出现。程序找到字符串的部分,更新如下:

print "Content-type:text/html\r\n\r\n"     #header of cgi file


file1 = motif_file.readlines()
file2 = align_file_rmode.readlines() 

for line in file2: 
   for item in file1:      # "item" is the string sequence that occurs in the text file
      item = item.strip().upper()   
      if item in line:

     line = line.replace(item, 'REPLACE ITEM BY BLUE FONT' * len(item))
     <p> <bold> item </bold> </p>
     <font color="sky blue">item</font>
     align_file_amode.write(line) 

有没有办法指定如何在输出到 HTML 时更改我的项目长度的颜色(例如蓝色)?这类工作需要 CGI 吗? 我正在使用 Python 2.6.5

【问题讨论】:

  • 我不确定如何使用 HTML 标记来处理代码中的最后几行,但我想我明白了你的问题的要点。对于item 的长度,我是否缺少某些意义,或者这正是您试图使item 的文本以蓝色突出显示的方式?
  • 还要注意代码示例中的一些陷阱:在每次外部循环迭代后将 file1 重新搜索到开头(或重新打开)。缩进似乎搞砸了:line = line.replace... 应该缩进两次,但 align_file_amode.write(line) 应该只缩进一次(据我了解)。
  • @Mu Mind:谢谢大家的回答,len(item) 的意义在于我希望文本改变颜色并写出HTML,但只有当程序遇到item (例如ACTFNKJLKD)和该字符串的长度(因此,如果项目的长度为10个字母,则只有这10个字母被注释为蓝色,而其余文本保持黑色)。
  • @Spyros:好的,那么是的,这应该是我的回答。顺便说一句,如果/当您满意您的问题得到回答时,请不要忘记接受答案(绿色复选标记)。我注意到你有几个开放的 Q 闲逛。
  • @Mike 抱歉,我没有注意到每个答案都带有一个用于选择我最喜欢的答案的接受按钮......会纠正这个问题,通常每个答案的一小部分让我前进,但从现在开始会尝试打勾!

标签: python html cgi


【解决方案1】:

我想你想要

line = line.replace(item, "<span style=\"color:skyBlue\">"+item+"</span>")

这只会添加一个&lt;span&gt; 并在 CSS 中设置颜色。

【讨论】:

  • @Mike:是的,我不确定该 HTML 是否应该是 cmets 或输出的一部分。 (你指的是问题,不是我的答案,对吧?)
  • 是的,我在谈论 OP 的问题...我在第一次 b/c 时删除了 python 标签我认为这是一个纯 html 问题...然后我看到了原始 html在那里并添加回来
  • 我已经尝试了你的建议,我得到一个内部服务器错误,猜想 Apache 服务器配置有问题...
  • @MuMind:您好,我只是想问一下您发布的线路是如何工作的。它完全符合我的要求,但我正试图找出原因.. 抱歉,如果这是一个过于基本的问题,但您是否不必为 Python 使用转义字符才能知道该项目是细绳。简而言之,为什么 "" 不起作用?
  • @Spyros: item 不应该出现在字符串中,因为它是一个变量名。可以这样想:a = "&lt;span style=\"color:skyBlue\"&gt;"b = "&lt;/span&gt;"line = line.replace(item, a+item+b)。在某些脚本语言中,例如 sh,解释器会主动在字符串中查找替换,但在 python 中,字符串正是您键入的字符。
猜你喜欢
  • 2014-09-02
  • 2017-03-12
  • 1970-01-01
  • 2016-01-28
  • 1970-01-01
  • 2023-03-19
  • 2013-03-21
  • 1970-01-01
  • 2017-12-10
相关资源
最近更新 更多