python

数値を文字列に変換する関数str、文字列を数値に変換する関数int

pythonで強制的に文字列を数字に変換したり、その逆を行う場合の関数について記載します。 数値を文字列に変換する関数 str str([object])で数値を文字列に変換できます。ファイル名を連番でつけたい場合などで、番号を文字列に変換する場合などに用います。…

Djangoのページネートミドルウェア「django-pagination」を設定する方法

django-paginationを使って、テンプレートで簡単にページ分割を使いましょう。まずはダウンロードします。django-paginationダウンロードしたら、インストールします。 # python setup.py install running install running bdist_egg running egg_info writi…

Djangoでsyncdbでデータベースを作成するときに自作のSQLを実行したい場合

Djangoを使っているときに、独自のSQLを流し込みたい場合があります。 そのようなときはpython manage.py syncdbのときに 次のようなディレクトリに配置したSQLを実行してくれます。 は作成中のアプリ名です。models.py等が配置されているとします。 その配…

Djangoからmemcacheを使う場合のエラーが発生した場合の解決方法

Djangoからmemcachedを使いたい場合に、Memcachedをインストールしているのに、エラーが発生する場合があります。例えば以下のようなエラーです。 raise InvalidCacheBackendError("Memcached cache backend requires either the 'memcache' or 'cmemcache' …

Python2.6からsqlite3が読み込まれないエラーの解決方法

ソースからインストールしたpython2.6で、Djangoのsyncdb等を使おうとすると、sqlite3が読み込めないとエラーが発生します。 % python manage.py syncdb raise ImproperlyConfigured, "Error loading %s module: %s" % (module, exc) django.core.exceptions…

PythonでUnicodeEncodeError: 'ascii' codecがでた場合の対処方法

Pythonはデフォルトのエンコーディングを指定しないと、UnicodeEncodeErrorが発生する場合があります。今回はその解決方法について記載します。4つ環境を用意してみました。 エラー例 # python Python 2.6.6 (r266:84292, Jan 3 2011, 14:20:44) [GCC 4.1.2…

pythonからmecabを使いたい場合の解決方法

pythonからmecabを使いたい場合はpython-mecabをインストールします。途中、依存関係でエラーがでたらpython-develとかをyumでインストールしてみてください。 # wget http://sourceforge.net/projects/mecab/files/mecab-python/0.98/mecab-python-0.98.tar…

Pinadx0.7.3とDjango1.2.4の相性がよくない件

Pinax 0.7.3 / Django 1.2.4 の組み合わせだと以下のようなエラーが出る。 TemplateSyntaxError at / Caught TypeError while rendering: __init__() got an unexpected keyword argument 'error_message' 組み合わせがよくないのか、一度Pinax0.7.1、Django…

CentOS5.5にPython2.6.6をインストールする。

Pythonは2.*系と3.*系があるが、多くのプログラムはまだ2.*系統で動作します。Python2.7が最後のメンテナンスリリースが出ていますが、 2.7だとvirtualenvなどでエラーが起きる時があります。たとえばvirtualenvを必要とするプログラムをインストールすると…

Pythonで整数を割り算すると、デフォルトでは小数点以下が切り捨てになる問題の解決方法

Pythonで整数や、整数が入っている変数を割り算(除算)すると、小数点以下が切り捨てになる。 >>> 12/26 0 このような感じ。これを解決する場合、2つの簡単な方法がある。

IndentationErrorはPython使いならたまに出くわすエラー

IndentationErrorは、Python使いにとっては宿命的なよくあるエラー。 IndentationErrorの後に、 'expected an indented block' と出てくる。 「インデントを期待されてるよ」の意味だ。 これはインデントが期待されている箇所なのに(例えばifやforの次の行…

SQLAlchemyを使ってMySQLにデータを更新する場合の日本語の文字化けを修正する方法

Twitterのステータス情報などをpythonのurllib2やらで取得し、MySQLに登録するときに起きる日本語の文字化けを修正するテクニック。 SQLAlchemyを使った場合、MySQLにデータを挿入またはデータを更新する場合に、日本語が文字化けするときがある。その場合に…

Djangoのテンプレートで整数を3桁づつカンマ(,)で区切る方法

標題の通り。自作フィルタなどを作らなくても、Djangoはさまざまなテンプレート用のフィルタが存在する。使う上での注意点は次の3つ。 settings.py 設定ファイルは以下の追加 INSTALLED_APPS = ( # included 'django.contrib.auth', 'django.contrib.conten…

BeautifulSoupで上手にスクレイピングする方法

BeautifulSoupを使ってスクレイピングするときに、適切なタグ構造なら大体find一発で取得できる。ところが同じ名前のタグをいくつも引っ張ってくるときは、結構泥臭いやり方が必要。 例文 次の例文を使ってスクレイピングをしてみよう。 print soup.prettify…

【Python】「そんな try:except文で大丈夫か?」「大丈夫だ、問題ない」

Pythonのtry:except文は強力だ。使い方によって、処理が柔軟に行えるが、強力ゆえに なにが行われているか分からなくなる場合がある。 try:except構文 try: try_clause except ErrorName: error_cause

Pythonの日本語設定で大事なことを話そう

pythonは日本語環境の整備が、初心者の壁となっている。 見落としがちな設定を備忘録しますぞ。