如何在html中使用shell脚本放置列表的值

时间:2013-09-03 04:27:07

标签: python html shell

场景:我从python获得了列表变量,其中包含一组值,我想将这些列表值放在正在生成运行时的html文件中。

testmail.sh

** cat<< EOF > 〜/ **的test.html

<html>

<head>
    <title>

    My System information

    </title>

</head>

<body>

<h1> My system information : </h1>

表示“$ @”中的值//这包含从python收到的列表值。

DO

$ value

完成

</body>

</html>

EOF

上面的代码在testmail.sh中,它生成了显示值的test.html ..

但是我希望这些值以正确的格式放在html的正文中..但它不起作用......

2 个答案:

答案 0 :(得分:0)

我假设你真的在使用bash脚本而不使用“$ @”参数,因为这没有意义。 =)

示例输出:

$ echo -e "one\n two\n three" | bash foo.html 
<html>
<p>one</p>
<p>two</p>
<p>three</p>
</html>

执行此操作的Shell脚本:

$ cat foo.html 
cat <<END
<html>
END
while read LINE
do
echo "<p>${LINE}</p>"
done
cat <<END
</html>
END

答案 1 :(得分:0)

这样的东西?

python script.py |
sed -e '1i\<ul>' -e 's%.*%<li>&</li>%' -e '$a\</ul>'

...但最好还是在Python脚本中添加一个选项来生成HTML(ish)输出。

如果你想从Python驱动shell脚本,你也可以在Python中进行HTML格式化。

import subprocess

pipe = subprocess.Popen("testmail.sh", stdin=subprocess.PIPE)
pipe.stdin.write('<ul>\n')
for item in correctList:
    pipe.stdin.write('<li>%s</li>\n' % item)
pipe.stdin.write('</ul>\n')
pipe.stdin.close()

这假设您的testmail.sh从标准输入读取数据,显然情况并非如此,因此您需要稍微更改一下。