Pyscript说没有目录但是有
P粉170858678
P粉170858678 2024-01-10 17:21:06
0
1
438

我遇到了一个令人沮丧的问题,pyscript 说该目录不存在。但确实如此。我有一个名为“pot1”的文件,pyscript 似乎没有看到它。 我已经重写了超过893次目录,并且尝试查找问题,我已经正确地将目录写入文件。

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

但我只得到这个。

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'

我尝试在谷歌上搜索,但最终只得到了非常基本的答案,例如“你正确地编写了目录吗?”,我不知道还能做什么。我尝试过使用 \ 而不是 /。尝试找出它是什么目录,但 CORS 不允许我这样做。与此同时,我会一次又一次地尝试。

P粉170858678
P粉170858678

全部回复(1)
P粉366946380

使用 pyscript 时,代码在虚拟文件系统中运行。如果你运行

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

您应该获得/home/pyodide,这是该虚拟文件系统的根目录。您的文件夹和文件无法通过该虚拟系统直接访问(这是 Javascript 应用程序的限制)。

从文件系统访问数据的最简单方法是使用 标记来获取文件(更多信息此处)。

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

如果您像这样更新文件并尝试访问它,您仍然会遇到错误。这是因为 fetch 方法通常用于从远程服务器加载内容,但在您的情况下,您可以通过运行来运行一个简单的 python Web 服务器

python3 -m http.server

然后访问您的页面 http://0.0.0.0:8000/yourfile.html一个>.

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板