refirio.org
気ままな雑記帳&実験場。好き勝手に色々やっています。
エントリー
タグ「Python」の検索結果は以下のとおりです。
XAMPPでPythonを動作させるメモ
Pythonをインストールした際のメモ。
参考サイト
メモ
- ざっと見たところ、まだバージョン3は広く使われていないように思ったので、今回はバージョン2(2.7.6)をインストールした。
- 今回のインストール先はWindows7の64ビット版だけど、Pythonの64ビット版は一般的に使われるモジュールが64ビットに対応していなかったり…があるらしいので、32ビット版をインストールした。
- CGIプログラムとして実行するために、
httpd.conf
のAddHandler
に.py
を追加した。
データベースを使う
PythonからMySQLを使ってみる。MySQLに接続するためのドライバはたくさんあるけど、定番(のように思う)の MySQL for Python を使ってみる。
MySQL-python-1.2.4b4.win32-py2.7.exe
をダウンロードして実行するだけでインストールされる。以下はMySQLへの接続例。
#!/python/python
# coding: UTF-8
import MySQLdb
con = MySQLdb.connect(host='127.0.0.1', db='dbname', user='username', passwd='password', charset='utf8')
cur = con.cursor(MySQLdb.cursors.DictCursor)
cur.execute('SET NAMES utf8')
print 'Content-Type: text/html'
print ''
print '<!DOCTYPE html>'
print '<html>'
print '<head>'
print '<meta charset="utf-8" />'
print '<title>MySQL</title>'
print '</head>'
print '<body>'
cur.execute('SELECT id, name FROM members LIMIT 10')
result = cur.fetchall()
for row in result:
print '<hr />'
print 'id=' + str(row['id'])
print 'name=' + str(row['name'].encode('UTF-8'))
cur.close()
con.close()
print '</body>'
print '</html>'
localhost
で接続しようとするとCan't connect to MySQL server on 'localhost'
のエラーになった。IPアドレスなら接続できた。MySQLdb.cursors.DictCursor
を指定することにより、ディクショナリ形式で値を取得できる。
フレームワークを使う
1ファイルで構成されている軽量フレームワーク、Bottleを使ってみる。
Bottleをダウンロードすると含まれている bottle.py
を適当な場所にコピーする。
同じ場所に hello.py
を作成し、以下のコードを記述する。
from bottle import route, run
@route('/hello')
def hello():
return 'Hello World!'
run(host='localhost', port=8080, debug=True)
コマンドプロンプトから python hello.py
と入力すると、8080
でサーバーが起動する。ブラウザソフトから http://localhost:8080/hello
にアクセスし、Hello World!
と表示されれば成功。
CGIとして動作させる場合、以下のように記述する。
#!/python/python
# coding: UTF-8
import bottle
from bottle import route, run
@route('/hello')
def hello():
return 'Hello World!'
run(server=bottle.CGIServer)
ブラウザソフトから hello.py/hello
にアクセスし、Hello World!
と表示されれば成功。この方法なら、ロリポサーバーなどでも手軽に使える予感。
MySQLを扱う場合、Bottle-MySQLプラグインを使用する。(プラグイン内部では、前述の MySQL for Python が呼び出されている。)
bottle.py
と同じ場所に bottle_mysql.py
を配置すれば、以下のコードでMySQLに接続できる。
#!/python/python
# coding: UTF-8
import bottle
import bottle_mysql
from bottle import route, run
mysql_plugin = bottle_mysql.Plugin(dbhost='127.0.0.1', dbuser='root', dbpass='1234', dbname='test')
bottle.install(mysql_plugin)
@route('/')
def show(db):
db.execute('SELECT id, name FROM members LIMIT 10')
result = db.fetchall()
view = ''
for row in result:
view += '<hr />'
view += 'id=' + str(row['id'])
view += 'name=' + str(row['name'].encode('UTF-8'))
return view
run(server=bottle.CGIServer)
ページ移動
- 前のページ
- 次のページ
- ページ
- 1
ユーティリティ
カテゴリー
タグクラウド
- 33分探偵1
- AMBITIOUS JAPAN!1
- ARIA2
- Air2
- Android2
- BLACK CAT2
- C#1
- Chrome2
- FINAL FANTASY2
- Flash2
- GAE1
- JavaScript18
- Kindle1
- Mac2
- MySQL7
- PHP68
- PayPal1
- Perl3
- PostgreSQL2
- Python1
- Ruby1
- SQLite6
- Switch1
- TinyMCE4
- Windows Media Player1
- bot1
- fragile1
- freo53
- iPhone3
- iTunes1
- levis1
- mod_rewrite2
- node.js1
- sola1
- true tears1
- いつかのメリークリスマス1
- いつか帰るところ1
- けいおん!1
- ここにしか咲かない花3
- とある魔術の禁書目録1
- とらドラ!2
- ひぐらしのなく頃に2
- みなみけ1
- イラスト4
- ガンダム003
- クロノトリガー1
- ザナルカンドにて4
- テラ1
- ニコニコ動画8
- ハゲタカ2
- ピアノ36
- マクロスF3
- ユニットテスト1
- ルパン三世1
- ローズ・オブ・メイ4
- 初音ミク1
- 半分の月がのぼる空1
- 名探偵コナン1
- 戦場のメリークリスマス5
- 携帯10
- 攻殻機動隊1
- 桜2
- 機工魔術士1
- 決行~姫をさがして~1
- 涼宮ハルヒの憂鬱10
- 深愛2
- 灼眼のシャナ4
- 聖剣伝説2
- 蕾3
- 蟲師2
- 返信2
- 野球1
- 鋼の錬金術師1