0

各行の間に改行を入れて表示される CGI スクリプトで読みたいテキスト ファイルがありますが、1 つの巨大なテキストの壁として表示されます。「\n」をどこに置くべきかわかりません。複数の場所を試しましたが、どれも機能しません。これが私のコードです。

cgitb.enable()

form = cgi.FieldStorage()

keyword = form.getvalue('keyword')

f = open('%s.txt' %keyword, 'r')

print 'Content-type: text/html\r\n\r'
print '<html>'
print '<title> keyword + "tweets" </title>'
print f.readlines()
print '</html>'

f.close()
4

2 に答える 2

2

デフォルトでは、HTML は改行文字を空白として扱います。それらを要素に変換する<br>か、テキストを要素で囲むか、CSS での処理が適切である<pre>ことを確認してください。white-space

また、print f.readlines.join('\n')またはprint f.read()(またはprint f.readlines().join('<br>')最初の選択肢を使用する場合); それ以外の場合は、リストの repr を取得する必要があります。

于 2012-12-13T00:27:58.523 に答える
0

本当に出力をプレーン テキストとして表示したい場合は、Content-Type ヘッダーの値を「text/html」ではなく「text/plain」に設定する方がはるかに簡単です。そうすれば、ほとんどのブラウザは単純にテキストをレンダリングします。散在する HTML が必要です。

HTML を生成したい場合は、ファイルの内容の前後に <BODY> の開始タグと終了タグを含める必要があることに注意してください (それらがファイル内に存在する場合を除きます)。

于 2012-12-13T00:39:39.460 に答える