0

Python Wiki の UsingPickle の記事では、承認された署名とキーを探すことで Pickle ファイルをより保護するために、TrustedPickle を使用することを提案しています。

TrustedPickle 0.01 をダウンロードし、指示に従って TrustedPickle.py スクリプトを C:\Python33\Lib\site-packages に配置してインストールしました。

ただし、TrustedPickle を使用するための手順に従っても、モジュールは機能しません。

スクリプトを開いて実行しようとしたところ、無効な構文が表示され、行 142 と列 22 を指しています。誰かがスクリプトを見て、何が問題なのかを確認できますか? このスクリプトは、自分で解決するには私の深さからかけ離れています。

スクリプトはこちらからダウンロードできます: http://sourceforge.net/projects/trustedpickle/files/trustedpickle/0.01/

私は0.02を試しましたが、それもうまくいきません。

4

1 に答える 1

0

問題の行は次のとおりです。

x1, Key, y1, y2 = 0L, 1L, 1L, 0L

末尾L("long" の場合) は、Python 3 では無効な構文です。Python 3 は Python 2.xとPython 2.xのint両方をカバーするようになったため、不要です。intlong

つまり、ライブラリは Python 3.x をサポートしていないようです。への次の変更trusted_pickle.py:

  • 数字からすべての末尾Lの s を削除します。
  • すべてを削除して;import setsに置き換えます。sets.Set(set(
  • long(すべてをint(;に置き換えます。
  • と置き換えimport md5import hashlib置き換えます。とmd5.md5(String)hashlib.md5(String.encode())
  • raw_input(に置き換えinput(ます。

ライブラリをimportPython 3.xに許可します。ただし、これらの変更で実際に機能することはテストしていません。

于 2014-01-09T15:48:46.760 に答える