【发布时间】: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 抱歉,我没有注意到每个答案都带有一个用于选择我最喜欢的答案的接受按钮......会纠正这个问题,通常每个答案的一小部分让我前进,但从现在开始会尝试打勾!