ファイルがpickle
で作成されているかどうかを確認する方法はありますか?私はただpickle.load
によってスローされた例外をキャッチすることができますが、特定の "ピクルファイルではない"例外はありません。ファイルがpickleによって作成されているかどうかをテストするには?
15
A
答えて
8
Pickleファイルにはヘッダーがないため、Pickleファイルにはヘッダーがありません。そのため、Pickleファイルをアンピクルしようとしている間に例外が発生していないかどうかを確認する標準的な方法はありません。
モジュールのPickler()
クラスとUnpickler()
クラスをサブクラス化することで、何らかのヘッダーを含む独自の拡張プロトコルを定義できます。しかし、これよりもはるかに高速なcPickle
モジュールでは、[1]のサブクラス化できないファクトリ関数があるため、これを行うことはできません。
より柔軟なアプローチは、実装でこれらのモジュールのいずれかからの対応するPickler()
およびUnpickler()
インスタンスを使用する独自の独立したクラスを定義することです。
更新
ヘッダが存在しない間、はが効果的に比較的単純なことだろう非常に最小限のトレーラーがあるように、すべての漬物ファイルの最後のバイトは、pickle.STOP
オペコードでなければなりませんチェック。
あなたの正確な使用状況に応じて、あなたは漬け物の表現でSTOP
オペコード過去の任意のデータから、より精巧な何かを無視していることを補完して逃げることができるかもしれない[2]を。
-
[1]パイソン2ドキュメントの
Footnote [2]。
[2]
pickle.loads()
のドキュメントは、
pickle.load()
にも適用されています。現在、後者に関して実装されています。
7
これをアンピクルして例外をキャッチしようとする以外の方法はありません。
関連する問題
- 1. .pickleファイルはどこに保存されていますか?
- 2. RSpecのFactoryGirlを使って新しいレコードが作成されたかどうかをテストするには?
- 3. pickleファイルを使用してPythonプロジェクトを構成するにはどうすればよいですか?
- 4. ファイルがコントローラにアップロードされていることをテストするにはどうすればよいですか?
- 5. オートプレフィクサーが動作しているかどうかをテストするにはどうすればよいですか?
- 6. サービスによって起動されるダイアログを作成するにはどうすればよいですか?
- 7. 派生クラスが作成プロパティによって暗黙的に指定されているオブジェクトを作成するにはどうすればよいですか?
- 8. シェルスクリプトによって作成されたファイルは、pythonによって開かれていませんか?
- 9. イテレータによって値が生成されないかどうかをテストする
- 10. キャッシュに何かが作成されているかどうかをテストする方法は?
- 11. ファイル入力にファイルが選択されているかどうかをJQueryを使って検出するにはどうすればよいですか?
- 12. 再生:ファイルをアップロードしてモデルのテストを作成するにはどうすればよいですか?
- 13. ウェブホスティングサービスはどのように作成されていますか?
- 14. ContentPlaceHolderコンテンツが子ページによってオーバーライドされているかどうかを確認するテスト?
- 15. ファイルがすでにStorageFolderに作成されているかどうかを確認するには
- 16. コマンドラインからNetbeansによって作成されたantプロジェクトから単一のjunitテストを実行するにはどうすればよいですか?
- 17. プロセスはどのようにしてELFファイルから作成されますか?
- 18. 値が署名されているかどうかをGDBはどのように知っていますか?
- 19. SQLインジェクションがブロックされているかどうかをテストするには?
- 20. チームアプリはどのようにテストされていますか?
- 21. ホスティングがサポートされているかどうかをテストする
- 22. オブジェクトがバイトバディによって作成されたかどうかを確認するにはどうすればよいですか?
- 23. DjangoテストでフォームからClient.post()を使ってファイルをアップロードするにはどうすればよいですか?
- 24. 私のプログラムがディレクトリにファイルを作成する権利を持っているかどうかを知るにはどうすればいいですか?
- 25. テスト球を作成するにはどうすればよいですか?
- 26. EditTextが作成されているかどうか調べるには?
- 27. イベントが人によってトリガーされているかどうかをチェック
- 28. ファイルが作成されるフォルダをMakefileに設定するにはどうすればよいですか?
- 29. 1つの作成ファイルによって生成されたコンテナを、別の作成ファイルによって生成されたコンテナにリンクするにはどうすればよいですか?
- 30. テンプレートがmochaテストでiron:routerルート用にレンダリングされているかどうかをテストするにはどうすればよいですか?
ビネガーとディルの痕跡を確認してください –
'pickle.dump'を使ったときにファイルが作られたのか、' pickle.load'を使った時にファイルが存在するのか心配していますか?どちらの場合でも、実際の 'pickle'行ではなく出力または入力のためにファイルハンドルを開くときにエラーが発生します。 –
私はファイルが存在するかどうかについては心配していませんが、存在するファイルが 'pickle'によって作成されているかどうかについては心配していません。 – Erik