无法导入Brython TypeE中的操作系统

2024-05-16 12:50:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图在Brython中导入os模块,但是无论我做什么,无论我尝试什么,我都无法。 Firefox控制台出现以下错误:

"TypeError: obj is undefined for module os" brython.js:6329:21
"message: undefined" brython.js:6330:1
"filename: http://localhost:8000/src/brython.js" brython.js:6331:1
"linenum: 4418" brython.js:6332:1
"Javascript error" TypeError: obj is undefined
Stack-Trace:
$B.get_class@http://localhost:8000/src/brython.js:4418:5
$test@http://localhost:8000/src/brython.js:8873:1
$SetDict.__le__@http://localhost:8000/src/brython.js:8830:50
getattr/method@http://localhost:8000/src/brython.js:5039:8
$module<@http://localhost:8000/src/brython.js line 6329 > eval:966:41
@http://localhost:8000/src/brython.js line 6329 > eval:1:14
run_py@http://localhost:8000/src/brython.js:6329:1
import_py@http://localhost:8000/src/brython.js:6310:8
import_from_stdlib_static@http://localhost:8000/src/brython.js:6378:22
$B.$import@http://localhost:8000/src/brython.js:6454:57
@http://localhost:8000/src/brython.js line 3931 > eval:11:1
brython@http://localhost:8000/src/brython.js:3931:7
onload@http://localhost:8000/boolean/boolean.html:1:1
 brython.js:3940:43
"Traceback (most recent call last):
RuntimeError: TypeError: obj is undefined"

当我这样做时:

^{pr2}$

这只是一个例子-最初的代码要长得多。 我使用的是最新的Brython版本(3.2.0)。 当我在它们提供的控制台中的Brython页面上尝试操作系统和函数时,它们的导入工作正常,到目前为止,操作系统是唯一一个我无法使用的导入。 感谢您的帮助,谢谢您抽出时间

更新: 它现在起作用了,但我不知道为什么,我也不明白——如果有人能解释我做错了什么,那就太好了,以防将来我遇到类似的问题 我四处寻找操作系统的替代品(我想从一个目录中读取.txt文件—我知道如何使用操作系统在“香草”Python中实现这一点),并找到了一个使用glob的解决方案,我试图导入它。 布莱森好像不带球,所以我把全局py在lib文件夹中-但是我也看到glob导入了操作系统,所以我想知道它是否有效,它确实做到了。 然后我又尝试导入操作系统,现在它成功了,我不知道为什么。在

from browser import document as doc, alert, html
from glob import glob
import os

# ... # 

def foo(ev):
    print(os.getcwd())

doc["submit"].bind("click", foo)

现在起作用了。我不明白,为什么我要先导入glob,然后再导入os?在


Tags: importsrcobjlocalhosthttpisoseval
1条回答
网友
1楼 · 发布于 2024-05-16 12:50:43

在代码示例中,doc未定义:

import os

def foo(ev):
    print(os.getcwd())

doc["submit"].bind('click', foo)

我可以import os没有问题。在

相关问题 更多 >