擅长:python、mysql、java
<p>@user2357112supportsMonica(响应线程中的注释,因为它包含代码块)</p>
<p>看起来像这样的东西可能有用:</p>
<pre><code>def exec_and_extract(exec_str, var_name):
env = {}
modified_exec_str = """def wrapper():
{body}
return {var_name}
""".format(body=textwrap.indent(exec_str, ' '), var_name=var_name)
exec(modified_exec_str, globals(), env)
return env['wrapper']()
</code></pre>
<p>这允许访问全局范围,包括将来的更改,以及访问<code>exec_str</code>中定义的其他变量</p>