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

基数変換 - n進数をm進数に変換する

PHPにはbase_convert()という関数があり、2〜36進数文字列どうしの変換ができます。 Pythonは、「int("ABCD",base=16)」として2〜36進数表現からlong値へ変換はできますが、逆にlong値を組み込み関数またはフォーマット文字列を使って2、8、16進数表現にしか…

pygletを使って動画を再生する

(※後でrefineします。動画の種類によってはFlashなどプレイヤの導入やffmpegの導入・設定が必要。また現時点ではスタート時にCould not set vsync警告、再生終了後にエラーが出ます。) import pyglet window = pyglet.window.Window(320, 180, resizable=Tru…

リストの反転

L = list("abcde") ## スライスによる反転 print L[::-1] ## 元のリストの順序は変わりません print L ## reversed()による反転 print list(reversed(L)) ## これも元のリストの順序は変わりません print L ## reverseメソッドはリスト自体の中身を反転させ…

バイナリファイルにパッチを当てる

ファイルのnバイト目にバイナリデータを上書きします。ファイルサイズは変わりません。上書きする前に、元のバイナリデータを読んで、正しい場所にパッチを当てようとしているか確認します。 ポイントはファイルを「読み書き両方」「バイナリ」でオープンす…

HTTPクライアントの単体テスト

HTTPクライアントとして書いたプログラムから、リクエストが正しく出ているか、またサーバから受け取ったデータを正しく処理できるか、テストコードとして書きたい場合があります。 もちろんlocalhostでHTTPサーバを立ち上げて結合テストを行うことも考えら…

ファイルのMD5/SHA1値を求める

import hashlib d = hashlib.sha1() f = open('test.dat', 'rb') while 1: x = f.read(16384) if not x: break d.update(x) print d.hexdigest() f.read()で一気に読み出してハッシュアルゴリズムに渡すのでは、サイズの大きいファイルでメモリが足りなくな…

円周率を求める

この項目は次のページを参考にしました。円周率以外にもPythonコードでさまざまな計算を紹介していますので、教育関係者に限らず是非読んでみてください。 高知大学 共通教育 情報処理 II 第6回の教材 (3) http://lupus.is.kochi-u.ac.jp/~shiota/jsii07/L06…

Excelファイルを自動生成する

Windows上でExcelを操作して生成 COM経由でExcelを操作して生成します。 pywin32モジュールとExcelが必要です。 # -*- encoding:cp932 -*- from win32com import client app = client.Dispatch('Excel.Application') app.Visible = 0 app.Workbooks.Add() bo…