【初心者向け】Pythonで簡単に実行結果をWebブラウザで表示する方法

【初心者向け】Pythonで簡単に実行結果をWebブラウザで表示する方法

最近Pythonを強したての初心者ですが、簡単にPythonの実行結果をWebブラウザで表示する方法がわかったので紹介します。

Webブラウザで表示する方法を検索して調べていましたが、Pythonのバージョンが古かったり手順が複雑だったりするサイトが多かったので、比較的新しめのバージョンで簡単に説明します。
ちなみに私の環境は、「Windows 7」のバージョン「3.6.3」です。

まずは「bottle」という外部ライブラリを使用するため、「pip install bottle」と
コマンドプロンプトで入力し、実行します。
コマンドプロンプト

実行して、インストールが完了したら成功です。
次は、手始めに掛け算の出力結果をWebブラウザに表示します。下記のコードをコピーしてください。

from bottle import route, run, template
@route('/hello/<name>')
def index(name):
return template('{{2 * 2}}', name=name)
run(host='0.0.0.0', port=8080)

これをメモ帳に貼り付け、「hello.py」というファイル名で、文字コード「UTF-8」にして保存してください。

このソースコードでは、return templateのシングルクォーテーション内がWebブラウザで表示されるようになっています。2×2なので4が表示されるはずです。
次に、スタートから「cmd」と入力し、コマンドプロンプトを見つけ起動します。

チェンジディレクトリの説明

そして、「hello.py」のファイルを置いたディレクトリのアドレスをコピーし、コマンドプロンプト内で「cd (hello.pyファイルの場所)」を入力してディレクトリを移動します。
最後に、Python内で「Python hello.py」と入力し、pythonファイルを実行します。

pythonの実行
このようになったら完了です。
次にWebブラウザのURL欄で、「http://localhost:8080/hello/world」と入力します。

Pythonの出力結果をWebブラウザで表示しています。
このように「4」が表示されたら完了です。
次にhtmlを組み合わせてみます。2 × 2 = {{2 *2}}として、htmlで中央揃えや文字色の変更などをしていきます。円マーク(バックスラッシュ)は処理中に改行をするために記載しています。


from bottle import route, run, template
aa = 'world'
@route('/hello/<name>')
def index(name):
return template('<html><head> \
<title>ページ名</title> \
</head> \
<body back> \
<center> \
2 × 2 = <font color=red>{{2 * 2}}</font> \
</center> \
</body> \
</html>', name=name)
run(host='0.0.0.0', port=8080)

htmlを組み合わせています
実行結果の表示をhtmlを組み合わせてアレンジすることができました。
次に、文字列型の出力方法を紹介します。{{hello}}とやっても、{{ }}内の出力は数字しか受け付けず、エラーとなってしまいました。

試行錯誤した結果、普通のpythonでprint()出力する部分をstr()で記載すれば文字列の出力結果をWebで表示することができました。
例として、aaという文字を「world」で下のように定義します。

aa = 'world'

次に、pythonのシングルクォーテーション内で、 ’ + str(aa) + ‘を差し込むと文字列の出力結果を表示できました。最初の「’」で一度閉じ、+でstr型の「aa」を挟み、再び「 + ‘ 」で開始する感じです。

下記が文字列を差し込んだコード例です。

from bottle import route, run, template
aa = 'world'
@route('/hello/<name>')
def index(name):
return template('<html><head> \
<title>ページ名</title> \
</head> \
<body back> \
<center> \
2 × 2 = <font color=red>{{2 * 2}}</font> <br> \
<br> \
' + str(aa) + ' \
<br /> \
</center> \
</body> \
</html>', name=name)
run(host='0.0.0.0', port=8080)

Pythonの文字列をWebブラウザで出力しています
このような感じで、pythonで定義した「world」がWebブラウザ上で表示されました。これでいろんなPythonの処理結果を手軽にWebブラウザで表示できますね。