Rumah  >  Soal Jawab  >  teks badan

Pyscript mengatakan tidak ada direktori tetapi ada

Saya menghadapi isu yang mengecewakan di mana pyscript mengatakan direktori itu tidak wujud. Tetapi ia adalah. Saya mempunyai fail yang dipanggil "pot1" dan pyscript nampaknya tidak melihatnya. Saya telah menulis semula direktori lebih daripada 893 kali dan cuba mencari masalah, saya mempunyai direktori yang ditulis pada fail dengan betul.

<py-script>
    pot1 = open("C:/Plant Lab/sav/garden/pots/pot1", "r").readline()
</py-script>

Tetapi saya hanya mendapat ini.

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'

Saya cuba mencari di Google tetapi akhirnya mendapat jawapan yang sangat asas seperti "Adakah anda menulis jadual kandungan dengan betul dan saya tidak tahu apa lagi yang perlu dilakukan?" Saya telah cuba menggunakan bukan /. Cuba untuk mengetahui direktori apa itu tetapi CORS tidak membenarkan saya. Sementara itu, saya akan cuba lagi dan lagi.

P粉170858678P粉170858678282 hari yang lalu414

membalas semua(1)saya akan balas

  • P粉366946380

    P粉3669463802024-01-11 10:13:21

    Apabila menggunakan pyscript, kod berjalan dalam sistem fail maya. Jika anda berlari

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

    Anda harus mendapatkan /home/pyodide, iaitu direktori akar sistem fail maya ini. Folder dan fail anda tidak boleh diakses secara langsung melalui sistem maya ini (ini adalah pengehadan aplikasi Javascript).

    Cara paling mudah untuk mengakses data daripada sistem fail ialah menggunakan tag untuk mendapatkan fail (maklumat lanjut di sini).

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

    Jika anda mengemas kini fail seperti ini dan cuba mengaksesnya, anda masih akan mendapat ralat. Ini kerana kaedah pengambilan biasanya digunakan untuk memuatkan kandungan dari pelayan jauh, tetapi dalam kes anda, anda boleh menjalankan pelayan web python mudah dengan menjalankan

    python3 -m http.server

    Kemudian lawati halaman anda http://0.0.0.0:8000/yourfile.html.

    balas
    0
  • Batalbalas