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

我写了这个脚本,从文本输入构建了一个非常基本的网页。它会无限期地逐行进行,直到用户在最后一行上键入“ 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)


梦里花落0921
浏览 420回答 1
1回答

回首忆惘然

您是否尝试查看文件的来源?空格和制表符将按预期方式写入文件,您的问题是,在解析html时,空格很大程度上被忽略了。如果希望保留它,则可以用替换空格&nbsp;,或将该部分括在<pre>块中。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python