J'ai rencontré un problème frustrant où pyscript disait que le répertoire n'existait pas. Mais il est. J'ai un fichier appelé "pot1" et pyscript ne semble pas le voir. J'ai réécrit le répertoire plus de 893 fois et en essayant de trouver le problème, le répertoire est correctement écrit dans le fichier.
<py-script> pot1 = open("C:/Plant Lab/sav/garden/pots/pot1", "r").readline() </py-script>
Mais je n’ai eu que ça.
Traceback (most recent call last): File "/lib/python3.10/_pyodide/_base.py", line 460, in eval_code .run(globals, locals) File "/lib/python3.10/_pyodide/_base.py", line 306, in run coroutine = eval(self.code, globals, locals) File "<exec>", line 1, in <module> FileNotFoundError: [Errno 44] No such file or directory: 'C:/Plant Lab/sav/garden/pots/pot1'
J'ai essayé de chercher sur Google mais j'ai fini par obtenir des réponses très basiques comme « Avez-vous écrit correctement la table des matières et je ne savais pas quoi faire d'autre ? J'ai essayé d'utiliser à la place de /. J'essaie de savoir de quel répertoire il s'agit mais CORS ne me laisse pas faire ça. En attendant, je vais essayer encore et encore.
Lors de l'utilisation de pyscript, le code s'exécute dans un système de fichiers virtuel. Si tu cours
Vous devriez obtenir
/home/pyodide
, qui est le répertoire racine de ce système de fichiers virtuel. Vos dossiers et fichiers ne sont pas directement accessibles via ce système virtuel (il s'agit d'une limitation des applications Javascript).Le moyen le plus simple d'accéder aux données du système de fichiers est d'utiliser la balise
pour obtenir le fichier (plus d'informations ici).Si vous mettez à jour le fichier comme ceci et essayez d'y accéder, vous obtiendrez toujours l'erreur. En effet, la méthode fetch est généralement utilisée pour charger du contenu à partir d'un serveur distant, mais dans votre cas, vous pouvez exécuter un simple serveur Web Python en exécutant
python3 -m http.server
Alors visitez votre page http://0.0.0.0:8000/yourfile.html一个>.