0
這是一個安全競爭,請不要吼我:)pickle命令字符串中的局部變量?
我想通過傳遞到pickle.loads()
字符串訪問本地變量。例如,我願做這樣的事情:
local_var = 1
pickle.loads('''c__builtin__
eval
(c__builtin__
compile
(S"print local_var"
S"error_output_file"
S"exec"
tRtR.''')
不過,我得到以下錯誤:NameError: name 'local_var' is not defined
事實上,當我檢查局部變量,它們是從我所期望的完全不同:
pickle.loads("""c__builtin__
locals
(tR.""")
給
{'args':(),
'func': <function locals>,
'self': <pickle.Unpickler instance at 0x108af3830>,
'stack': []}
這是怎麼回事^ h那麼,我該如何做我想做的事?
謝謝!
謝謝,我會試試看! – des4maisons