【python】python 「print」で表示した文字列に空白がはいる。

pythonでPHPで言うような、ヒアドキュメントがありません。代用として
「”トリプルダブルクォーテーション”」で対応します。
なんか、フィグアスケートのジャンプの種類のような表現ですが・・・。
例えば、

test = """


sample


"""

と、いうふうにします。ヒアドキュメントでなくても、文字などをダブルコーテーションで
囲むというのは普通に行なわれることだと思います。

で、それを表示する場合は、

print test

となります。普段はこれで何も問題がないのですが、.pyファイル上でJavascriptを
記述した際に問題が起きました。

このヒアドキュメントもどきを使ってJavascriptのコードを記述していたのですが、
どーもこのpythonで処理したコードが記述的には何も問題ないはずのスクリプトがどーしても動かない。
と、ずっと悩んでいたんですが、.pyファイルが処理を実行したあとに記述されるHTML文章をみていると、
ダブルクォーテーションの後ろにスペースが入っていたり、表示するテキストの最後にスペースが入っています。

どうやら、このせいでJavascriptが動かなかったようです。
なんでこんなことになるかというと、
「print arg,」は改行を出力しないけど半角空白は出力されるよ
こちらのブログにて開設されていますが、どうやら、「print」が余計なことしてるらしいと。
ということで、こちらのブログでも指摘されているとおり、

import sys
write = sys.stdout.write
write(test)

と、することで解決。
ちょっとめんどくさい・・・。

スポンサーリンク

シェアする

フォローする

スポンサーリンク