最近我一直在試驗discord bots,它使用asyncio。我一直在製作一個程序,控制很多其他的機器人,在飛行中打開和關閉它們,但我有一個問題;我已經嘗試過使用subprocess.Popen,rpyc和multiprocessing,但我正在努力研究如何在程序之間進行通信。我用下面的代碼行啓動子流程的嘗試:一個asyncio程序來管理許多其他
Popen('python smallprogram.py', stdout=PIPE, stdin=PIPE)
,但我仍然無法從主程序傳達給更小的方案,由於較小的需要來ASYNCIO運行。這阻止了我通過Popen.communicate()使用input()。 理想情況下,我希望有一種方法可以在需要時調用較小程序的函數,而小程序仍然運行asyncio。我不介意將相同的代碼塊粘貼到每個較小的程序中,但我認爲這也可以通過一些導入來解決?
可以這樣做嗎?我從來沒有做過API,但似乎我可能需要使用API作爲模板。謝謝:)
注意:我只有需要做大 - >小的溝通,但是反過來也不錯。
爲什麼不是簡單地產生新的asynci o任務而不是使用子進程? – Vincent
@Vincent我不太瞭解我會如何去做這件事。該程序的想法是我可以即時修改機器人,這意味着我可以修改其代碼而無需重新啓動其他代碼,也可以手動注入代碼。這不需要事先預先寫好機器人嗎? –
是的。查看我的答案獲取更多信息。 – Vincent