function loadPyModule(module, callback) { xmlHttp = new XMLHttpRequest(); xmlHttp.open( 'GET', '/' + module + '.py', true ); xmlHttp.overrideMimeType("text/plain; charset=x-user-defined"); xmlHttp.onload = function() { document.source = this.responseText document.module = module // Enregistre le fichier dans le système de fichier du runtime Python. pyodide.runPython(` import js import sys sys.path.insert(0, '/') print ("python" + js.document.module + ".py") with open(js.document.module + ".py", "w") as fd: fd.write(js.document.source) `); // Nécessaire pour le moment. // Je n'arrive pas à importer un module ultérieurement. pyodide.runPython(` import ` + module + ` `); callback(); } xmlHttp.send(''); } function loadPyModules(modules, callback, finalCallback, i = 0) { if (Object.is(modules.length - 1, i)) { loadPyModule(modules[i], finalCallback) } else { loadPyModule(modules[i], () => { callback(modules[i]) loadPyModules(modules, callback, finalCallback, i + 1); }) } }