使用file.write()保留输出中的空格/制表符

时间:2013-05-26 18:49:16

标签: python python-2.7

我编写了这个脚本来从文本输入构建一个非常基本的网页。它会无限期地逐行进行,直到用户在最后一行输入“q”并点击进入。问题是,如果我在前面输入一个标签或一些空格,它们不会写入最终的html文件。我在这个脚本中包含了两个方法,它们都提供相同的输出......第二个是注释掉的

from sys import argv

script, file = argv

boom = open('%s.html'% file,'w')

header = """<html>
<head>
<style>
body {background-color:black; color:white;}
</style>
</head>
<body>
"""

footer = """</body>
</html>
"""

boom.write(header)

#lines = ''
#lines = list(lines)

while True:
    line = raw_input(">")

    if line != "q":
#       lines.append('%s<br>\n' % line)
        boom.write('%s<br>\n' % line)

    else:
#       string = ''.join(lines)
#       print string
#       boom.write(string)
        boom.write(footer)
        boom.close()
        exit(0)

1 个答案:

答案 0 :(得分:3)

您是否尝试过查看文件来源?空格和制表符按预期写入文件,您的问题是在解析html时很大程度上忽略了空格。如果您希望保留它,可以使用&nbsp;替换空格,或将该部分括在<pre>块中。