码迷,mamicode.com
首页 > 编程语言 > 详细

Python 之 LIBSVM 使用小结(二)

时间:2015-08-06 22:34:07      阅读:325      评论:0      收藏:0      [点我收藏+]

标签:python   sys.path   os.chdir   libsvm   

网上许多libsvm的python教程中经常会有这样的例子,但是运行会出现 ImportError: No module named svmutil 的报错。

  1. import os
    import sys
    
    os.chdir('C:\libsvm-3.17\python')
    from svmutil import *
    
    y, x = svm_read_problem('../lkagain.txt')
    m = svm_train(y[:275], x[:275], '-c 5')
    
    y, x = svm_read_problem('../lk2.txt')
    p_label, p_acc, p_val = svm_predict(y[0:], x[0:], m)
    print p_label
    print p_acc
    print p_val

    当我运行这个文件时会报这样的错误
  2. ImportError: No module named svmutil。
  3. 开始我以为是os.chdir()函数没有改变当前文件的目录,当我把目录输出之后发现目录确实改变了,后来又尝试读取了该目录下的文件,也读取成功。此时我迷茫了为什么我不能svmutil.py这个module引用。
  4. 后来发现当我要使用一个module模块时,需要先将其路径导入sys.path中。

    sys.path是python的搜索模块的路径集,是一个list。

    可以在python 环境下使用sys.path.append(path)添加相关的路径,但在退出python环境后自己添加的路径就会自动消失了!

  5. sys.path是python的搜索模块的路径集,主要将自己要使用的模块放入sys.path中就可以了。用法是

  6. import sys
    sys.path.append('E:\developertools\libsvm-3.20\python')
    from svmutil import *

  7. 就可以了。

  8. 同时在idle环境中用os.chdir可以达到相同效果,在Python(xy)中暂时还不等效。

  9. 具体原理暂时还没弄明白,希望有路过大神评论,或以后明白了再来修改。

版权声明:本文为博主原创文章,未经博主允许不得转载。

Python 之 LIBSVM 使用小结(二)

标签:python   sys.path   os.chdir   libsvm   

原文地址:http://blog.csdn.net/u013630349/article/details/47322303

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!