I';我在写HTML文件,我想要一个能在单词列表中添加列表项标记的程序


I'm writing HTML files and I want a program that adds list item markup tags to a list of words

我希望的是这样的东西:

输入:

a
aa
b
bb

输出:

<li>a</li>  
<li>aa</li>  
<li>b</li>  
<li>bb</li> 

所以我在python中尝试,对吧:

file = open('/Users/Shannon/Desktop/add_tags.txt')

while 1:
    line = file.readline()
    if not line:
        break
    else: 
        print "<li>" + line + "</li> 'n"

结果是一团糟:

</li> e sleep patterns when possibleresult in positive outcomes

然后我在php:中尝试

<html><body>
<?php
$fin = fopen('add_tags.txt', 'r');
while(!feof($fin))
    {
        $input_string = fgets($fin);
        $output_string = "<li>".$input_string."</li>";
        echo $output_string;
    }
?>

但是li标签自然会呈现为要点。所以我添加了反斜杠来转义括号,但这似乎没有任何效果。然后我把"(小于)li(greaterthan)"改成了"x",只是想看看发生了什么——什么都没有。仍然是一个项目符号列表。我不知道。告诉我,切换到java并不能解决我的问题。有什么想法吗?

以下是python的两行解决方案:

for line in open('tmp.txt'):
  print '<li>' + line.rstrip() +'</li>'

还有两条评论:

  1. "for line in…"样式更干净、更简单(open(filename)返回一个python生成器,一次生成一行)。

  2. 为了去掉行末的尾随'''n',我使用了rstrip()。这也消除了行末尾的额外空格(无论如何,这在HTML中不会有任何区别)。