从其他脚本导入函数

时间:2018-05-05 16:12:22

标签: python python-3.x

我有以下脚本:

private static final String ALLOWED_CHARACTERS = "ABCD...789";
private static final Random RNG = new Random();
public static String getID() {
    StringBuilder builder = new StringBuilder();
    while (builder.length() < DESIRED_LENGTH) {
        builder.append(ALLOWED_CHARACTERS.charAt((int)(RNG.nextDouble()*ALLOWED_CHARACTERS.length())));
    }
    return builder.toString();
}

evaluate.py的脚本如下,

 src/
     __init__.py
     evaluation.py
     main.py

evaluation.py包含一个名为&#39; f_score&#39;的函数,我想在main.py中使用f_score函数

在main.py中,我会关注,

from collections import Counter
def f_score(pred, answers):

     '''

     f1 = (2 * precision * recall) / (precision + recall)
     return f1

我收到错误消息:NameError:name&#39; f_score&#39;没有定义。

然而,如果我这样做

 from evaluation import *
 f_score()

这很有效。 我可以问为什么?

1 个答案:

答案 0 :(得分:0)

您可能需要安装最新的python更新。当我尝试它时,它可以无缝地工作。

from file1 import *
input = input("Enter:")
if input == "hi":
    hi_back()

打印出&#34; hi&#34;因为那是file1中的函数。

确保模块与您一样处于同一路径。 以下是我从我创建的模块导入内容的方法:

import file1 as f1
f1.function1()

这是我处理它的首选方式,当您在一个文件中导入许多不同的模块时,可以使生活更轻松。我在你的代码中看到你只有三个&#39;&#39;&#39;在函数中但没有结束评论。这可能是一个问题,因为函数会认为那里什么都没有。 也许你有拼写错误?发生在我们最好的人身上:))