Python

WindowsではCtrl-cでPythonのスクリプトを即時中断できないことがある

CPythonの既知の不具合に遭遇した。処理系本体ではなく、標準ライブラリの問題のようだ。界隈では有名な話かもしれないが、忘れないように個人的なメモを残しておく。具体的には、標準ライブラリのsocketを使用して自前でUDPパケットを受信する、以下のよう…

argparseで引数を1つとるオプションをいい感じで扱えるようにしたい

ここ2~3年ほどPythonで小さなコマンドライン・ツールを書く機会が何度かあったのだが、argparseでコマンドライン引数を解析する時、引数を1つだけとるオプションの扱いに難儀している。ArgumentParser.add_argument()のキーワード引数nargsに1を設定すれば…

Python高速学習 経験者編

最近少しだけPythonに触れているのだが、他言語でそれなりにプログラミング経験がある人がPythonを学ぶ場合、差し当たり次の3つのドキュメントがあれば割と短期間でなんとなくPythonっぽいコードを書けるようになるみたいだ。 Top - python.jpで公開されてい…

ppbinについての覚え書き

昨年末にppbinというツールを作ったので、メモを残しておく。GitHub - eel3/ppbin: Pretty-printer for binary file ppbinとは何か? ppbinは、指定した形式でバイナリファイルの16進数ダンプを吐き出すコマンドライン・アプリだ。 $ # test.binは44 byteの…

PythonのwaveモジュールでのPCMデータ読み出しを高速化する

RIFF WAVEファイルからリニアPCMのデータを取り出して、フレーム毎に(正確には各フレーム内のサンプル毎に)加工して出力するツールを作った。諸事情によりPython 2.xの標準ライブラリのwaveモジュールを使ったのだが、Wave_readオブジェクトの扱い方によっ…

8つの言語でテキストフィルタを書き比べた

※2015/11/15追記:現段階では8言語から12言語に増えている。その昔 id:eel3:20120129:1327845759 なんてことをやったのだが、性懲りもなくまた同じようなことをやってみた。作ったものはこちらに置いてある。 GitHub - eel3/hcasl: Command line tool for "h…