Pyscript dit qu'il n'y a pas de répertoire mais il y en a
P粉170858678
P粉170858678 2024-01-10 17:21:06
0
1
437

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.

P粉170858678
P粉170858678

répondre à tous(1)
P粉366946380

Lors de l'utilisation de pyscript, le code s'exécute dans un système de fichiers virtuel. Si tu cours

<html>
  <head>
    <link rel="stylesheet" href="https://pyscript.net/latest/pyscript.css" />
    <script defer src="https://pyscript.net/latest/pyscript.js"></script>
  </head>
  <body>
    <py-script> import os;print(os.getcwd())</py-script>
  </body>
</html>

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).

<html>
  <head>
    <link rel="stylesheet" href="https://pyscript.net/latest/pyscript.css" />
    <script defer src="https://pyscript.net/latest/pyscript.js"></script>
  </head>
  <body>
    <py-config> 
      [[fetch]] 
      files = ["/path/to/your/file"] </py-config>
    <py-script>
      pot1 = open("/path/to/your/file", "r").readline()
      print(pot1)
    </py-script>
  </body>
</html>

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一个>.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal