静かなる名辞

pythonとプログラミングのこと


ファイル操作

ファイルオブジェクトのcloseはflushも行う。確実にしたければfsync

以前、「ファイルオブジェクトのcloseメソッドは同時にflushも行う」ことを知りました。 どうやらcloseするときは内部でflushメソッドが呼ばれるようです。 このストリームをフラッシュして閉じます。 io --- ストリームを扱うコアツール — Python 3.7.3rc1 …

複数のnumpy配列を同時にシリアライズできるnumpy.savezの使い方を解説

はじめに numpy.savezは最近使ってみてけっこう良い感じだったのですが、日本語のわかりやすい説明が少なかったので解説記事を書いてみます。 なお、以下のドキュメントも併せて参考にしてください。numpy.savez — NumPy v1.15 Manual 基本的な使い方 まず、…

numpy配列の直列化方法によるファイル容量の違いを比較

はじめに numpy配列を直列化する方法はいろいろあります。numpyから使える方法に限っても4つあります*1。numpy.savetxt — NumPy v1.15 Manual numpy.save — NumPy v1.15 Manual numpy.savez — NumPy v1.15 Manual numpy.savez_compressed — NumPy v1.15 Manu…

【python】実行スクリプトからの相対パスでファイルを開く

pythonのファイルオープンの際のカレントディレクトリは実行時のshellのカレントディレクトリを引き継ぐ仕様なので、スクリプト基準の相対パスだと考えていると悲しい思いをします。そこで、この記事ではその対応策について説明します。

【python】io.StringIOは便利なので使いこなそう

はじめに io.StringIOというものがあります。標準モジュールのioに属します。io --- ストリームを扱うコアツール — Python 3.7.1 ドキュメント これがどう便利かというと、「ファイルオブジェクトのように見えるオブジェクト」を作れます。スポンサーリンク …

【python】pythonで悲しい思いをしないためのファイルパス操作の基本

コマンドライン引数からパスを受け取って処理する、というプログラムはありがちなんだけど、適当に書くと適当なパスを渡したとき悲しい動作になったりするんだ(´・ω・`) 気をつけないといけないポイントを色々まとめておこう。一応linux環境で、python3.5以…

【python】print/pprintした結果をファイルに書き出す

まえがき pythonでデータ処理などを行うとき、中間出力をファイルに出力しておきたいことがよくある。 本来ならpythonオブジェクトを出力したいならpickleを使うのが正攻法だし、そうでなくても適切なフォーマットを作って出力するのが正しいやり方。とはい…