2011-01-01から1年間の記事一覧

PILで_imagingftのインポートエラーが出た場合

PILでTrueTypeFontを使おうとすると、環境によっては raise ImportError("The _imagingft C module is not installed")というエラーが出る。 要はPILのコンパイル時にFreeType2がインストールされていなかった事が原因。 Linux(OpenSuse)ならば、「freetype2…

matplotlibで面グラフを書く

適当なグラフですみません。 from pylab import * x = range(10) y1 = list(sin(x)) y2 = [sin(i)-0.2 for i in range(10)] fx = x + x[::-1] fy1 = y1 + y2[::-1] fy2 = y2 + [-1 for i in range(10)] ylim(-1) fill(fx,fy2, fx,fy1) plot(x, y1, "go", x, …

Pythonで配列内の重複する値を抽出する方法

Rubyで配列内の重複する値を抽出する方法 - 久保清隆のブログ確かに「重複した値が知りたい」ときって、結構あるんですよね。 Rubyにはinjectという記法(?)があるんですね。 じゃあ、Pythonだとどうなるんだろうと考えてみました。 a = [1, 2, 3, 4, 5, 5, 1…

OpenSuse11.4でChromeをインストール

FireFox5に嫌気がさしたので、OpenSuse11.4でChromeをインストールしたのでメモ。インストール自体は簡単で、以下のサイトからRPMをダウンロードするだけ。http://www.google.co.jp/chrome/インストールは無事に完了するが、Chromeが立ち上がらない・・・ ど…

wxPythonでクリップボード操作

wxPythonでクリップボードで少しハマったのでメモ。wxPythonでクリップボード操作をググると、wx.Clipboard()を生成する方法が出てくる。 だが、OpenSuse11.4だとSetData()をするとアプリが終了しなくなるという現象が発生した。 ドキュメントを調べるとwx.T…

PILで"decoder jpeg not available"というエラーが出た時

OpenSuseでPILを使った時にこんなエラーが出たのでメモ。どうやらeasy_install時にlibjpeg-devがない場合にこんなエラーが出る模様。 まず、libjpeg-devをインストール(環境によって最適なパッケージを入れてください) sudo zypper in libjpeg62-devel現在…

新しいファイルだけ上書きコピーする

今までshutilとかでチマチマやってたけど、Windowsなら「xcopy」コマンドを使えばよい事に気付いた。 主なオプションは以下の通り。 /D 新しいファイルだけをコピー /S /E サブフォルダもコピー /H 隠しファイルもコピー /C エラーを無視してコピー /Y 無条…

wxHTMLのメモ

#!/usr/bin/local/python # -*- coding: utf-8 -*- import sys import os import wx import wx.html from wx import xrc class MyApp(wx.App): def OnInit(self): self.frame = wx.Frame(None, -1, "test") sizer = wx.BoxSizer( wx.VERTICAL ) self.main_wn…

RGB->L*a*b*変換

とりあえずメモ RGB2XYZ_D65 = ( 0.412453, 0.357580, 0.180423, 0.212671, 0.715160, 0.072169, 0.019334, 0.119193, 0.950227 ) D65 = ( 0.950456, 1., 1.088754 ); _coff = ( RGB2XYZ_D65[0]*(1.0/D65[0]),RGB2XYZ_D65[1]*(1.0/D65[0]),RGB2XYZ_D65[2]*(1…

JavaScriptでデフォルト引数を使う

最近、JavaScriptを使うことになったので勉強中。 デフォルト引数が使いたいなと思いググったところ、下のコードが沢山ヒットする。 def test(a) { a = a || デフォルト値 ... } え、これってデフォルト引数が0やFalseの場合ダメだよね・・・? 正しくはこう…

Windowsを再起動/終了/スリープ/休止状態にする

再起動/終了 import os #Windowsの再起動 os.system('shutdown -r -f') #Windowsの終了 os.system('shutdown -s -f') スリープ/休止状態 import ctypes #Windowsのスリープ ctypes.windll.PowrProf.SetSuspendState(0, 1, 0) #Windowsの休止 ctypes.windll.P…

文字列のcsvを解析する方法

csvモジュールはcsvファイルしか解析できないと思われがちだが、メモリ上のcsvを解析する事も可能。 一番簡単な方法は、以下の通り。 import csv for row in csv.reader(['one,two,three']): print row # ['one', 'two', 'three'] 複数行の文字列も解析可能…

SCons入門(3)

SCons入門(1) - Pashango’s Blog SCons入門(2) - Pashango’s Blog ファイル/ディレクトリ操作「Copy,Move,Delete,Touch,Mkdir,Chmod」 SConsではファイル/ディレクトリ操作用に以下の関数が用意されている。 Copy(dst, src) ファイル/ディレクトリのコピー M…

SCons入門(2)

SCons入門(1) - Pashango’s Blog ファイル更新チェックの方法を変更する「Decider」 SConsでは、ファイルの更新チェックに標準でMD5を使用する。 そのため、タイムスタンプが異なっていても、ファイル内容が同じであれば不要なビルドを避けてくれる。 MD5で…

SCons入門(1)

SConsとは? Python製のMake代替ツール。 中でPythonコードを書けるので、複雑なMake処理を簡単に書ける。 C言語の依存関係などを自動に調べる機能などがあるらしいが、使った事はないので詳しい事はわからない。 自分の場合はプログラムのビルドではなく、…