>> f.write(c) Traceback"> >> f.write(c) Traceback"> >> f.write(c) Traceback" />

どのようにコードオブジェクトをファイルに保存するのですか?

コードオブジェクト(_ _ code _ _)をファイルに保存する方法は?

>>> c
", line 1>
>>> pickle.dump(c, f)
Traceback (most recent call last):
  File "", line 1, in 
_pickle.PicklingError: Can't pickle : attribute lookup builtins.code failed
>>> f.write(c)
Traceback (most recent call last):
  File "", line 1, in 
TypeError: 'code' does not support the buffer interface
2
コードオブジェクトは本質的にプラットフォームに依存し、 pickle はプラットフォームに依存しないフォーマットです。コードオブジェクトプラットフォームを独立して表現する簡単な方法はありませんが、通常はそうする必要はありません。あなたは何を達成しようとしていますか?
追加された 著者 Sven Marnach,

2 答え

あなたが何をしようとしているのか不明ですが、マーシャルモジュールを使用することができます:

>>> import marshal
>>> def f():
...    print 'f'
>>> marshal.dump(f.__code__, open('test.dump'))
>>> code = marshal.load(open('test.dump'))
>>> f.__code__ == code
True
>>> import dis
>>> dis.dis(code)
  2           0 LOAD_CONST               1 ('f')
              3 PRINT_ITEM          
              4 PRINT_NEWLINE       
              5 LOAD_CONST               0 (None)
              8 RETURN_VALUE  
6
追加された

I googled around and found something which could be useful: http://python.about.com/od/pythonstandardlibrary/a/pickle_intro.htm

敬具

3
追加された
回答としてリンクを投稿しないでください。
追加された 著者 agf,
また、そのテキストについて正確に何が役立つのかを注意してください。それを見て、私は一般的にピクルスを導入している文章を見たことがあります。
追加された 著者 delnan,