如何解决使用“exec”命令创建函数
>>> def create_function(code):
... exec(code)
...
>>>
>>>
>>> def main():
... code = "def a(stri):\n\tprint(stri)"
... create_function(code)
... a("Hello World")
...
>>> main()
Traceback (most recent call last):
File "<stdin>",line 1,in <module>
File "<stdin>",line 4,in main
NameError: name 'a' is not defined
>>>
我想为 discord.py Embeds 做这个,有没有办法在另一个函数中用 exec 命令定义函数?
解决方法
这是一个糟糕的方法。但是如果你真的想这样做,你必须让这个函数成为全局的。
def create_function(code):
exec(code)
def main():
code = "global a\ndef a(stri):\n\tprint(stri)"
create_function(code)
a("Hello World")
main()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。