2011-05-07 55 views
0

我有一个Python脚本,它从文件中提取一些文本并注释另一个文件,并将结果写入新文件。因为我注解文件是ASCII,我非常受限制的,我怎么能注解的文字,我想,而不是结果写入HTML,这样我可以在某些部分改变文字颜色标注。 我注释的文本文件部分只是一串字符(例如ACTFNKJLKD),它在我阅读的文本文件中重复出现。那找到了这个字符串,更新程序的部分如下:将python脚本的输出写入到CGI的HTML

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) 

是否有指定如何改变颜色(例如蓝色)对我的项目的长度,同时outpute,为HTML的方法吗?这种工作是否需要CGI? 我在Python 2.6.5

+0

我不确定HTML代码中代码中最后几行的内容是什么,但我想我已经得到了您的问题的要点。 “item”的长度是否有一些重要意义,或者你是如何试图让“item”的文本以蓝色突出显示? – 2011-05-07 17:34:41

+1

还要注意代码示例中的一些问题:在外循环的每次迭代之后,将file1恢复到开头(或重新打开它)。缩进看起来很乱:'line = line.replace ...'应该缩进两次,但'align_file_amode.write(line)'应该只缩进一次(据我所知)。 – 2011-05-07 17:37:47

+0

@Mu注意:感谢您的回答,len(项目)的意义在于我希望文本可以改变颜色并写入HTML,但只有当程序遇到项目(例如ACTFNKJLKD)和长度(如果项目长度为10个字母,只有这10个字母注释为蓝色,而其余的文本保持黑色)。 – Spyros 2011-05-07 17:51:59

回答

2

工作,我想你想

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

这将只需添加一个<span>并设置在CSS的颜色。

+0

和报价是原始的HTML! – 2011-05-07 17:44:55

+0

@Mike:是的,我不确定该HTML是否应该是评论或输出的一部分。 (你指的是问题,而不是我的回答,对吧?) – 2011-05-07 17:47:34

+0

是的,我在谈论OP的问题......我在第一个B/C删除了'python'标签我认为这是一个纯粹的html问题。 ..然后我看到那里原始的HTML,并将其添加回 – 2011-05-07 18:08:52