python
PILでTrueTypeFontを使おうとすると、環境によっては raise ImportError("The _imagingft C module is not installed")というエラーが出る。 要はPILのコンパイル時にFreeType2がインストールされていなかった事が原因。 Linux(OpenSuse)ならば、「freetype2…
適当なグラフですみません。 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, …
Rubyで配列内の重複する値を抽出する方法 - 久保清隆のブログ確かに「重複した値が知りたい」ときって、結構あるんですよね。 Rubyにはinjectという記法(?)があるんですね。 じゃあ、Pythonだとどうなるんだろうと考えてみました。 a = [1, 2, 3, 4, 5, 5, 1…
FireFox5に嫌気がさしたので、OpenSuse11.4でChromeをインストールしたのでメモ。インストール自体は簡単で、以下のサイトからRPMをダウンロードするだけ。http://www.google.co.jp/chrome/インストールは無事に完了するが、Chromeが立ち上がらない・・・ ど…
wxPythonでクリップボードで少しハマったのでメモ。wxPythonでクリップボード操作をググると、wx.Clipboard()を生成する方法が出てくる。 だが、OpenSuse11.4だとSetData()をするとアプリが終了しなくなるという現象が発生した。 ドキュメントを調べるとwx.T…
OpenSuseでPILを使った時にこんなエラーが出たのでメモ。どうやらeasy_install時にlibjpeg-devがない場合にこんなエラーが出る模様。 まず、libjpeg-devをインストール(環境によって最適なパッケージを入れてください) sudo zypper in libjpeg62-devel現在…
今までshutilとかでチマチマやってたけど、Windowsなら「xcopy」コマンドを使えばよい事に気付いた。 主なオプションは以下の通り。 /D 新しいファイルだけをコピー /S /E サブフォルダもコピー /H 隠しファイルもコピー /C エラーを無視してコピー /Y 無条…
#!/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…
とりあえずメモ 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…
再起動/終了 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を解析する事も可能。 一番簡単な方法は、以下の通り。 import csv for row in csv.reader(['one,two,three']): print row # ['one', 'two', 'three'] 複数行の文字列も解析可能…
SCons入門(1) - Pashango’s Blog SCons入門(2) - Pashango’s Blog ファイル/ディレクトリ操作「Copy,Move,Delete,Touch,Mkdir,Chmod」 SConsではファイル/ディレクトリ操作用に以下の関数が用意されている。 Copy(dst, src) ファイル/ディレクトリのコピー M…
SCons入門(1) - Pashango’s Blog ファイル更新チェックの方法を変更する「Decider」 SConsでは、ファイルの更新チェックに標準でMD5を使用する。 そのため、タイムスタンプが異なっていても、ファイル内容が同じであれば不要なビルドを避けてくれる。 MD5で…
SConsとは? Python製のMake代替ツール。 中でPythonコードを書けるので、複雑なMake処理を簡単に書ける。 C言語の依存関係などを自動に調べる機能などがあるらしいが、使った事はないので詳しい事はわからない。 自分の場合はプログラムのビルドではなく、…
仕事が一段落したので、久しぶりの更新です。あなたのスキルで飯は食えるか? 史上最大のコーディングスキル判定 面白そうなのでPythonで解いてみました、実装時間は1時間くらいです。 Pythonすごいなー、C++やJavaでやれって言われたら3時間では終わらんわ…
自分ならこう書く - pythonでA* - ラシウラ おぉぉぉ、コードが添削されとる! しかし、ソート付きキューのheapqは知らなかったです、勉強になります。 それにしても、C言語のベタ移植だったとはいえ、Pythonに直すと短くなるもんだなぁ!! ・・・でも、短…
Pythonでよく使う便利なファイル操作のまとめ。 こういう便利な機能を使っちゃうと、C言語でツールを作るのがバカらしくなりますね。 テンポラリファイル(一時ファイル) tempfileモジュールを使います、テンポラリファイルを作成する方法はいくつかあって…
Python2.6になって、jsonが標準モジュールになりましたね。 JavaScriptとの連携をするつもりはないんですが、可読性のあるpickleとして使えるかなと思いました。 import json a = { "name":"Tim", "age":19, "email":"tim@timcity.com", "visible":True } js…
先日、私が「クロージャの使い所が、イマイチわからないっす」とつぶやいてたら、知人から以下のページを教えてもらった。 クロージャの正しい使い方 orz .... 誰かクロージャの正しい使い方を教えてください。 (いや、確かに使ったら便利な場面もあるけど…
みなさん、こんにちは、今回は乱数の話です。 特に複数機種でのコンシューマ機でゲームを開発をしていると、機種間で乱数値を統一するために乱数生成アルゴリズムを自作しますよね。 そこでよく使われるアルゴリズムが「線形合同法」です、内容は至って簡単…
一般的には2次元の外積の存在は賛否が分かれる所ですが、numpyでは2次元ベクトルの外積が用意されています。 import numpy numpy.cross([0,1],[ 1,0]) #-1 numpy.cross([0,1],[-1,0]) # 1 numpy.cross([1,0],[ 0,1]) # 0 どうやら内積の90度回転版みたいです…
Pythonを使って高速素数判定をしてみる - Pashango’s Blog RSA暗号で「ふっかつのじゅもん」を作る(1) - Pashango’s Blog さて前回からの続きです、RSA暗号で「ふっかつのじゅもん」を作ってみましょう。 RSA暗号では、暗号化するデータのビット数よりも、1…
オッス、オラ、トンヌラ! 前回は、高速素数判定を作りましたが、今回はRSA暗号を使って、昔懐かしの「ふっかつのじゅもん」を作ってみましょう。 Pythonを使って高速素数判定をしてみる - Pashango’s Blog あ、「今さらRSAかよ」と思いました? 自分でRSAを…
"sep".join(list) が気持ち悪い理由 そんなに Array.join がいいのか Pythonの','.join()がキモいと思ってた時代が僕にもありました Pythonの文字列連結(join)にまつわる議論 まとめと考察(2) "".join()が色んなところで話し合われているんですね。 眺めて…
時々使うんだけど、調べると検索になかなかヒットしなくてイラッとするものたち。 小数点の切り上げ import math math.ceil(0.1) #=>1.0 四捨五入 round(0.4) #=>0.0 round(0.5) #=>1.0 round(0.15,1) #=>約0.2 round(124,-1) #=>120 階乗計算 階乗はVersion…
そろそろ作っておくべきか・・・ でも、Inkscapeプラグインの日本語資料はほぼ壊滅。 あっても古いしな・・・とりえあず、inkex.pyあたりを読むしかないか・・・
以前にnumpyを使った主成分分析を公開しましたが、今回はそれを使ってバウンティボックスを作ってみます。 ある頂点集合に対して、適切なバウンティボックスを求めたいとしましょう。簡単に思いつく方法としては、基底軸X,Yごとに最大値&最小値を求め、それ…
結論から言うと、Pythonになぜ"標準"で定数がないのかは「わかりません」。 答えを求めていた人には申し訳ない。 Pythonには知っての通り、定数を定義できません。 (独自でconstクラスを実装すれば定数らしき事はできます) 定数の実装が難しいとは考えにく…
pyevolveによる遺伝的アルゴリズム(1) pyevolveによる遺伝的アルゴリズム(2) 今回はGAで「巡回セールスマン問題」を解いてみます。 「matplotlib」のインタラクティブモードを使い、巡回経路がリアルタイムで変化するようにしました、経路がウネウネと最適化…
http://matplotlib.sourceforge.net/よく使う機能のみピックアップ。 グラフ(plot) from pylab import * x = arange(-10, 10, 0.1) y = sin(x) plot(x,y, '--') show() 棒グラフ(bar) from pylab import * datas = {"Tim":7, "Jack":10, "Matthew":4} width …