打印语句未出现在终端中

Van*_*h46 0 python scikit-learn

在享受了上学期的 AI 课程后,我开始使用 scikit-learn。我之前没有使用 python 的经验(我们使用 WEKA),所以我使用包含所有软件包的虚拟环境设置了 python3。我已经激活了虚拟环境并尝试通过以下方式运行以下代码python3 <filename.py>

从 sklearn 导入 svm,从 numpy 导入 genfromtxt 的数据集,savetxt 导入 sys

def main():
    digits = datasets.load_digits()
    clf = svm.SVC(gamma=0.001, C=100.)
    clf.fit(digits.data[:-1], digits.target[:-1])  
    SVC(C=100.0, cache_size=200, class_weight=None, coef0=0.0, degree=3,
    gamma=0.001, kernel='rbf', max_iter=-1, probability=False,
    random_state=None, shrinking=True, tol=0.001, verbose=False)
    print(clf.predict(digits.data[-1]))
    sys.stdout.flush()
Run Code Online (Sandbox Code Playgroud)

它不会向 iterm(一个 mac os x bash 终端)打印任何内容。所以尝试运行这段代码

def main():
    print("hi", end='\n', file=sys.stdout, flush=True)
Run Code Online (Sandbox Code Playgroud)

它也不打印任何内容。我查看了打印文档并询问了一位朋友(只使用过 2.7),但没有弄清楚这一点

And*_*son 5

你的 main() 函数被调用过吗?尝试将其添加到模块的末尾。

if __name__=="__main__":
    main()
Run Code Online (Sandbox Code Playgroud)