簡(jiǎn)單的講,庫(kù)就是別人(或者你自己)實(shí)現(xiàn)的可以提供某種功能的代碼;
創(chuàng)新互聯(lián)公司科技有限公司專業(yè)互聯(lián)網(wǎng)基礎(chǔ)服務(wù)商,為您提供四川聯(lián)通機(jī)房服務(wù)器托管,高防服務(wù)器,成都IDC機(jī)房托管,成都主機(jī)托管等互聯(lián)網(wǎng)服務(wù)。
lib下面放一般都是你import的包,其實(shí)也可以不用放到lib下面,你就放在你寫的.py同一目錄下也能import到,但是一般規(guī)范都放到Lib下面,對(duì)應(yīng)生成的pyc文件也會(huì)在lib都用,這個(gè)文件直接拿出來就能用,并且別人沒辦法看到里面的內(nèi)容
本文演示了在python中調(diào)用C語(yǔ)言生成的動(dòng)態(tài)庫(kù),返回結(jié)構(gòu)體指針,并進(jìn)行輸出!
test.c(動(dòng)態(tài)庫(kù)源代碼)
// 編譯生成動(dòng)態(tài)庫(kù): gcc -g -fPIC -shared -o libtest.so test.c
#include stdio.h
#include string.h
#include stdlib.h
typedef struct StructPointerTest
{
char name[20];
int age;
}StructPointerTest, *StructPointer;
StructPointer test() // 返回結(jié)構(gòu)體指針
{
StructPointer p = (StructPointer)malloc(sizeof(StructPointerTest));
strcpy(p-name, "Joe");
p-age = 20;
return p;
}
編譯:gcc -g -fPIC -shared -o libtest.so test.c
call.py(python調(diào)用C語(yǔ)言生成的動(dòng)態(tài)庫(kù)):
#!/bin/env python
# coding=UTF-8
from ctypes import *
#python中結(jié)構(gòu)體定義
class StructPointer(Structure):
_fields_ = [("name", c_char * 20), ("age", c_int)]
if __name__ == "__main__":
lib = cdll.LoadLibrary("./libtest.so")
lib.test.restype = POINTER(StructPointer)
p = lib.test()
print "%s: %d" %(p.contents.name, p.contents.age)
最后運(yùn)行結(jié)果:
[zcm@c_py #112]$make clean
rm -f *.o libtest.so
[zcm@c_py #113]$make
gcc -g -fPIC -shared -o libtest.so test.c
[zcm@c_py #114]$./call.py
Joe: 20
[zcm@c_py #115]$
準(zhǔn)備工具
libsvm軟件包;
電腦;
步驟操作
把包解壓在C盤之中,如:C:\libsvm-3.18;
用libsvm自帶的腳本grid.py和easy.py,需要去官網(wǎng)下載繪圖工具gnuplot,解壓到c盤;
進(jìn)入c:\libsvm\tools目錄下,用文本編輯器(記事本,edit都可以)修改grid.py和easy.py兩個(gè)文件,找到其中關(guān)于gnuplot路徑的那項(xiàng),根據(jù)實(shí)際路徑進(jìn)行修改,并保存;
例子舉例
常用接口
提高預(yù)測(cè)的準(zhǔn)確率
新聞名稱:lib函數(shù)Python lib函數(shù)庫(kù)
文章來源:http://muchs.cn/article36/docscsg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、Google、服務(wù)器托管、品牌網(wǎng)站制作、微信公眾號(hào)、品牌網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容