从 hy 中的当前文件夹导入模块
importing module from current folder in hy
Hy版本1.0a4+199.g22021c56导入有变化吗?
我正在尝试从同一文件夹(或 cwd)导入文件,但出现 ModuleNotFoundError: No module named 'thenameofthefile'
即使我将当前路径附加到 sys.path。
这就是重现它的方法。
#!/bin/sh
echo "(defn doit[] (print \"something\"))" > printsomething.hy
echo "(import printsomething [doit])" > callit.hy
echo "(doit printsomething)" >> callit.hy
hy callit.hy
对我来说,上面的结果是 NameError: name 'printsomething' is not defined
。问题是 doit
是有选择地导入的,所以名称 printsomething
没有绑定到整个模块。要获得选择性导入和整个模块,您需要
(import printsomething [doit] printsomething)
或 Python
from printsomething import doit
import printsomething
请注意,这仍然会崩溃,因为 doit() takes 0 positional arguments but 1 was given
。
Hy版本1.0a4+199.g22021c56导入有变化吗? 我正在尝试从同一文件夹(或 cwd)导入文件,但出现 ModuleNotFoundError: No module named 'thenameofthefile'
即使我将当前路径附加到 sys.path。
这就是重现它的方法。
#!/bin/sh
echo "(defn doit[] (print \"something\"))" > printsomething.hy
echo "(import printsomething [doit])" > callit.hy
echo "(doit printsomething)" >> callit.hy
hy callit.hy
对我来说,上面的结果是 NameError: name 'printsomething' is not defined
。问题是 doit
是有选择地导入的,所以名称 printsomething
没有绑定到整个模块。要获得选择性导入和整个模块,您需要
(import printsomething [doit] printsomething)
或 Python
from printsomething import doit
import printsomething
请注意,这仍然会崩溃,因为 doit() takes 0 positional arguments but 1 was given
。