打印声明没有出现在终端中

时间:2014-07-26 01:41:55

标签: python scikit-learn

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

运行以下代码

来自sklearn import svm,数据集 来自numpy import genfromtxt,savetxt import 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()

对iterm(mac os x bash终端)不打印任何内容。所以尝试运行此代码

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

也没有打印任何东西。我查看了打印文档并询问了一位朋友(他只使用了2.7)而没有弄明白

3 个答案:

答案 0 :(得分:4)

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

if __name__=="__main__":
    main()

答案 1 :(得分:1)

你真的运行 main()功能吗?在上面的代码中,您定义了一个名为main()的过程,但必须调用才能对其执行某些操作。由于您正在使用终端,只需输入main()并按[ENTER]

如果您是从文件中运行程序,那么@ AndrewJohnson的答案就是现场。

答案 2 :(得分:0)

我在几种类型的python脚本中遇到了相同的问题。只是通过检查缩进来纠正它。正确的缩进。