データ分析エンジニアのブログ

日常のことからプログラミングや機械学習まで@六本木

Pythonの実行結果をブラウザに表示する(MAMP)


今日、CGIスクリプトとして
PythonをWebサーバ上で動かすということをやってみました。


MAMPのローカル環境で作業しています。


・まずはMAMPapacheの設定

apacheの設定ファイルでCGIを有効化し、.py拡張子を追加する
/Applications/MAMP/conf/apache/httpd.conf

#AddHandler cgi-script .cgi
AddHandler cgi-script .cgi .py

その後、MAMPを再起動


・次に実際のスクリプト

注意点としては
1. 一行目にpythonインタプリタの場所を書く
2. HTMLとして最初に'Content-type: text/html\n'を出力する
3. 実行権限(chmod 775 ~ 等で修正)

#! /usr/bin/python
# coding: UTF-8
import datetime

today = str(datetime.date.today())
print 'Content-type: text/html\n'
print """
<! DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>CGIスクリプト</title>
</head>
<body>
これはサーバの実行結果として生成されたHTMLです<br>
今日は%sです
</body>
</html>
"""%today


簡単ですが、こんな感じで出来ました。
PHPみたいな埋め込みができるものと比べるとめんどくさいかなと思いましたが、
Djangoのようなフレームワークを使うともっと簡単に書けそうなので、今度試してみようと思います!