日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

c++调用python操作mongo

發布時間:2025/3/21 python 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c++调用python操作mongo 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

之前嘗試在windows下c++直接調用mongo,但是出現各種問題,后來只好作罷。

現嘗試用c++調用python來操作mongo數據庫,還是有問題,先做一下記錄。

1、python調用mongo

?安裝pymongo

mongoDB.py文件下鏈接數據庫

import pymongoimport sys reload(sys) sys.setdefaultencoding('utf-8')class MongoDB():def __init__(self, collection, db, port=27017, host=XX):self.conn = pymongo.Connection(host, port)self.db = self.conn[db]self.coll = self.db[collection]

database.py 文件下書寫:

# -*- coding: utf-8 -*-import pymongo from mongoDB import *import sys reload(sys) sys.setdefaultencoding('utf-8')def search_video_title_from_md5(video_md5):mdb = MongoDB('video_baidu')dct = mdb.coll.find_one({"md5":video_md5},{'ti':1})if dct == None:return Nonetitle = dct['ti']return title if __name__ == '__main__':title = search_video_title_from_md5("49a434d98ea49c4f2490528b6587f838")print title

測試運行成功

2、c++調用python

配置python安裝路徑下的include和libs

注意#include "Python.h"
添加依賴庫? #pragma comment(lib,"python27.lib")

?

/Python 初始化///Py_Initialize(); if (!Py_IsInitialized()){return -1;}// 添加當前路徑// 把輸入的字符串作為Python代碼直接運行,返回0表示成功,-1表示有錯。大多時候錯誤都是因為字符串// 中有語法錯誤。PyRun_SimpleString("import sys");PyRun_SimpleString("sys.path.append('./')");PyObject* pName = NULL;PyObject* pModule =NULL;PyObject* pArgs = NULL;PyObject* pRet = NULL;// 載入名為PyPlugin的腳本pName = PyString_FromString("database");//testpy 沒錯pModule = PyImport_Import(pName);//如果import不對往往是python代碼有問題if (!pModule){printf("can't database.py\n");return -1;}PyObject* pDict = NULL;PyObject* pFunc = NULL;pDict = PyModule_GetDict(pModule);if (!pDict){return -1;}pFunc = PyDict_GetItemString(pDict, "search_video_title_from_md5");if (!pFunc || !PyCallable_Check(pFunc)){printf("can't findfunction [aplus]\n");return -1;}char* videoMD5 = "49a434d98ea49c4f2490528b6587f838"; ///測試用char* videoTitile;PyObject *pReturn = NULL;pReturn = PyObject_CallFunction(pFunc,videoMD5);PyArg_Parse(pReturn, "s", videoTitile); //s表示轉換成char*型變量Py_DECREF(pFunc); Py_Finalize(); cout << videoTitile << endl;


注意此處幾個問題,

(1)?特別說明,如果您是用Python安裝包的形式安裝的Python,那么這個程序只能以Release方式運行!原因是安裝包版Python在libs文件夾下只有Release版的lib文件,而debug模式需要Python27_d.lib,也就是debug模式的。如果您在運行時提示無法打開python27_d.lib文件,那么請換成Release模式,或者下載Python源碼自己編譯,這樣就會生成_d的lib文件了!

(2)注意c++ 工程win32或者x64一定要與python版本相同,同為32位或者64位,不然會出現無法解析的外部符號。

(3)此時運行還會出現這個問題

如果是普通的python函數沒有用過mongo之類的,不會出現此問題,就是import 包的問題。

?不知道此問題如何解決,準備換中方法來進行調用,請看后續博客。

總結

以上是生活随笔為你收集整理的c++调用python操作mongo的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日日夜夜狠狠爱 | 日韩午夜精品视频 | 91涩漫成人官网入口 | 国产福利在线观看视频 | 欧美一级在线视频 | 蜜桃av噜噜一区二区三区 | 久久久久久福利 | 精品久久久久久久久中文字幕 | 人人超碰在线 | a级性生活视频 | 伊人99re | 黄色三级三级三级三级 | 在线观看黄色动漫 | 操老女人视频 | 91一区二区视频 | 亚洲伦理在线 | 欧美性做爰猛烈叫床潮 | 欧美成人hd| 久久国产成人 | 在线观看国产视频 | 国模在线观看 | 蜜臀尤物一区二区三区直播 | 涩涩视频网址 | 黄色特级片| 国产精品一区二区三区在线看 | 欧美三级a | 成人性生交大片免费看96 | 夜色在线视频 | 美女隐私黄www网站动漫 | 天天爽夜夜爽夜夜爽精品视频 | 欧美黄视频在线观看 | 羞羞网站在线看 | 久久国产精品综合 | 久久九| 涩色网| 国产高清在线精品 | 大学生一级片 | 四虎免费av| 日批毛片 | 姑娘第5集在线观看免费 | 亚洲美女在线播放 | 午夜三区 | 白丝开裆喷水 | 国产成人精品亚洲日本在线观看 | 色哟哟视频在线观看 | 18成人免费观看视频 | 亚洲欧美精品aaaaaa片 | 成人精品一区二区三区中文字幕 | 欧美日韩国产免费 | 欧美一区二区黄色 | 色屁屁草草影院ccyycom | 亚洲一区二区三区人妻 | 精品少妇久久久 | 国产又粗又猛又爽又黄av | 男女羞羞在线观看 | 极品尤物魔鬼身材啪啪仙踪林 | 综合精品一区 | 亚洲视频手机在线 | 91精品国产色综合久久不8 | 特黄大片又粗又大又暴 | 国产精品久久久久久婷婷天堂 | 亚洲AV无码乱码国产精品牛牛 | 激情专区| 俺也来俺也去俺也射 | 色婷婷影院 | 在线观看免费观看 | 欧美jjzz| 女女互慰吃奶互揉调教捆绑 | 午夜成人免费影院 | 欧美操操操 | 日韩欧美激情视频 | 亚洲色图校园春色 | 免费看国产曰批40分钟 | 国产精品白嫩白嫩大学美女 | 国产免费一区二区三区网站免费 | 欧美9999| 51久久久| 你懂的国产 | 国产真实乱人偷精品 | 国产成人一区二区三区免费看 | 亚洲精品v | 中国肥胖女人真人毛片 | 秒拍福利视频 | 性欧美18—19sex性高清 | 亚洲色图一区二区 | 国产精品怡红院 | 国产成人欧美一区二区三区91 | 视色影院 | 人与动物av| 久久人妻无码aⅴ毛片a片app | 在线视频播放大全 | 免费大片黄在线观看 | 丰满少妇麻豆av苏语棠 | 国产一级久久久久毛片精品 | 一级黄色大片 | 色爱av综合网 | 色免费看 | 波多野结衣在线免费观看视频 | 超碰97久久 |