从 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