我希望的是这样的:
输入:
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标签自然地呈现为子弹点。所以我添加了反斜杠以逃避括号,但这似乎没有任何效果。然后我把“(lessthan)li(greaterthan)”更改为“x”只是为了看看发生了什么 - 没什么。仍然是项目符号列表。我不知道。有些东西告诉我,切换到java不会解决我的问题。有什么想法吗?
答案 0 :(得分:2)
以下是两行中的python解决方案:
for line in open('tmp.txt'):
print '<li>' + line.rstrip() +'</li>'
还有两条评论:
'for line in ...'样式更清晰,更容易(open(filename)返回一个python生成器,一次产生一行)。
为了摆脱行末尾的'\ n',我使用了rstrip()。这也消除了行尾的额外空格(无论如何都不会对HTML产生任何影响)。