문자열에 정의 된 함수를 피클 : 직렬화/I는 다음을 수행 할
import pickle
namespace = {}
exec('def f(x): return x', namespace)
pickle.dumps(namespace['f'])
그러나, 이것은 다음과 같은 오류가 발생
:---------------------------------------------------------------------------
PicklingError Traceback (most recent call last)
<ipython-input-102-61493bb3c732> in <module>()
2 namespace = {}
3 exec('def f(x): return x', namespace)
----> 4 pickle.dumps(namespace['f'])
PicklingError: Can't pickle <function f at 0x7f2134171950>: it's not the same object as __main__.f
내가 원하는 문제 해결 방법 : 문자열 형식의 함수가 있고 병렬화를 위해 직렬화 할 수 있어야합니다.
당신은 기대를 충족시키지 코드에서 무슨 일이 일어나고 있는지 설명해야한다. 이 코드가 지금 실행되면 어떻게됩니까? 당신은 무엇을 기대해야합니다. 정확히 * 당신의 코드로 달성하고자하는 것은 무엇입니까? 문제를보다 효과적으로 해결할 수 있도록보다 견고한 [mcve]를 함께 묶는 방법을 수정하십시오. – idjaw
의견을 보내 주셔서 감사합니다. 오류 메시지를 추가했습니다. 게다가, 나는 나의 문제를 아주 분명하게 묘사한다고 생각한다. – johnbaltis