运行下面的代码时出错
File "simpy.py", line 4
return 'Monty Pythons Flying Circus'
SyntaxError: 'return' with argument inside generator
这是code sample from simpy official site
我尝试了this solution given to a similar looking question,但后来又出现了以下错误:
Invalid yield value "Monty Pythons Flying Circus"
来自简洁网站的代码:
import simpy
def my_proc(env):
yield env.timeout(1)
return 'Monty Pythons Flying Circus'
env = simpy.Environment()
proc = env.process(my_proc(env))
env.run(until=proc)
我按照上面引用的解决方案尝试的修改代码如下:
import simpy
def my_proc(env):
yield env.timeout(1)
yield 'Monty Pythons Flying Circus'
return
env = simpy.Environment()
proc = env.process(my_proc(env))
env.run(until=proc)
此代码提供了错误Invalid yield value "Monty Pythons Flying Circus"
如何解决这个问题?
答案 0 :(得分:1)
我遇到了相同的错误,并将其跟踪到代码here 读取Process类的代码和文档字符串:
生成器(也称为协程)可以通过以下方式暂停执行 产生一个事件。
Process
将负责恢复生成器 具有该事件发生后的值。
我知道问题在于您没有产生事件,而是一个字符串