2013-05-26 58 views
0

我編寫了這個腳本來從文本輸入中構建一個非常基本的網頁。它無限期地逐行進行,直到用戶在最後一行輸入'q'並點擊輸入。問題是,如果我在前面輸入一個製表符或一些空格,它們不會寫入最終的html文件。我已經包含在這個腳本,他們都給出相同的輸出的兩種方法。第二個被註釋掉使用file.write()保存輸出中的空格/製表符

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) 

回答

3

您是否嘗試查看文件的來源是什麼?空格和製表符按照預期寫入文件,問題在於在解析html時大部分空白都被忽略。如果希望保留它,則可以用&nbsp;替換空格,或將該部分包含在<pre>塊中。

+0

使用了前置塊,謝謝。我想這更像是一個html問題,然後是一個python問題。 – AllTheTime1111