打印语句不出现在终端中



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

运行下面的代码

从sklearn导入svm,数据集从numpy导入genfromext,保存导入系统

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()

不输出任何内容到term (MAC OS x bash终端)。所以试着运行这段代码

def main():
    print("hi", end='n', file=sys.stdout, flush=True)

也不打印任何内容。我看了打印文档,问了一个朋友(他只使用2.7)没有弄清楚这个

你的main()函数被调用了吗?试着把它添加到模块的末尾。

if __name__=="__main__":
    main()

您是否真的运行了 main()函数?在上面的代码中,你定义了一个叫做main()的过程,但是它必须被称为才能对它做一些事情。因为您是在终端上工作,所以只需键入main()并按[ENTER]

如果你是从一个文件中运行程序,那么@AndrewJohnson的答案是正确的。

我对几种类型的python脚本都有同样的问题。只是通过检查缩进来纠正它。正确的缩进。

相关内容

  • 没有找到相关文章

最新更新