Python

Cythonの型付け

Cythonの型付け 普通のPythonとしても動く形での型付け(Pre Python Mode) デコレータ import cython # デコレータを使った型付け @cython.locals(a=cython.int, sum=cython.int, i=cython.int) @cython.returns(cython.int) @cython.cfunc def f(a): sum =…

(Windows)FastAPIと一緒にasyncio.create_subprocess_shell()を使うとNotImplementedErrorが発生する原因・対処法

裏でシェルのコマンドを発行するものを作っていて、ハマったのでメモ。 環境はWindows10、Python3.8.2、FastAPI 0.63.0、uvicorn 0.13.2 NotImplementedError は名前の通り「未実装だよ!」という意味のエラー。 実はWindowsではProactorEventLoopを使ってい…

更新があった場合のみデータを取得する

気象庁XMLの高頻度feedのように、毎分更新される(かもしれない)データを継続的に取得するとき、毎分リクエストを飛ばしてハッシュ値やらで更新の有無を判別する方法が素朴だが、もしデータに更新がなかった場合、配信元に余分な負荷をかけたことになる。 …

matplotlibで作成した画像を一時ファイルを作らないで処理する

ストレージに一旦画像を書き込んで、また読み込む。これだとちょっと気持ち悪い 効率が良くなさそう、できればメモリ上で処理したい。 できる!! io.BytesIOを使う これだけ。簡単 普通のファイルと同様に料理する事ができる。