insecure string pickle を読み込む

Posted: , Modified:   Python Qiita

本稿は Qiita 投稿記事 のバックアップです.

概要

バージョン 0 の pickle プロトコルは ASCII 表現でデータ直列化する.このテキストファイルを別のプラットフォームで利用する場合や,テキストモードでファイル転送する時にうっかり改行コードが書き変わるなどすると,insecure string pickle エラーが出て読み込めなくなることがある.

そんな時は,自前でファイルから読んで文字列を作成してから読み込めば良い.

ソースコード

import pickle

with open(inputfile, "r") as fin:
    data = pickle.loads("\n".join([line.strip() for line in fin]))

参考