我有以下代码
from multiprocessing import Process, Queue
from queue import Empty
from time import sleep
def f(q):
n = 100000000
while n != 100000000 // 2:
n -= 1
q.put("the awkening!")
print("my work here is done")
def main():
q = Queue()
p = Process(target=f, args=(q,))
p.start()
while True:
try:
print(q.get(block=False))
raise systemexit
except Empty:
print("i found nothing :(")
sleep(2)
p.join()
Run Code Online (Sandbox Code Playgroud)
如果我加
if __name__ == '__main__':
main()
Run Code Online (Sandbox Code Playgroud)
到最后然后用python script_name.py它来运行它,一切正常.但是,如果我只是运行scirpt python -i script_name.py然后运行main()Python抱怨:
Traceback (most recent call last): …Run Code Online (Sandbox Code Playgroud)