gpt4 book ai didi

django - Python:如何执行生成的代码?

转载 作者:太空宇宙 更新时间:2023-11-04 08:22:24 27 4
gpt4 key购买 nike

我有这段代码,我想使用 app 参数生成代码而不是复制它。

if app == 'map':
try:
from modulo.map.views import map
return map(request, *args, **kwargs)
except ImportError:
pass

elif app == 'schedule':
try:
from modulo.schedule.views import schedule
return schedule(request, *args, **kwargs)
except ImportError:
pass

elif app == 'sponsors':
try:
from modulo.sponsors.views import sponsors
return sponsors(request, *args, **kwargs)
except ImportError:
pass

elif app == 'streaming':
try:
from modulo.streaming.views import streaming
return streaming(request, *args, **kwargs)
except ImportError:
pass

你有什么想法吗?

谢谢

最佳答案

我更愿意使用 dispatch-dictionary 惯用语,编写类似...的代码:

import sys

dispatch = { 'map': ('modulo.map.views', 'map'),
'schedule': ('modulo.schedule.views', 'schedule_day'),
...etc etc.. }
if app in dispatch:
modname, funname = dispatch[app]
try: __import__(modname)
except ImportError: pass
else:
f = getattr(sys.modules[modname], funname, None)
if f is not None:
return f(request, *args, **kwargs)

不确定您认为“代码生成”会给您带来什么,使它比这种方法更可取。

关于django - Python:如何执行生成的代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2868063/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com