在win2003下,安装了vs2008,安装了Python2.7,按照网上的教程,新建了一个控制台程序,在选项里包含了Python的libs文件,包含了Python的inclue文件,同时修改了include里的pyconfig.h中的Python27_d.lib为Python27.lib,意思debug下也用Python27.lib这个动态库,然后开始编码,代码如下:
#include <python.h>
int main()
{
Py_Initialize();//初始化Python
PyObject *pModule = NULL;
PyObject *pFunc = NULL;
pModule = PyImport_ImportModule("test");//调用的文件名
pFunc = PyObject_GetAttrString(pModule,"Hello");//调用的函数
PyEval_CallObject(pFunc,Py_None);//调用函数
Py_Finalize();//与Py_Initialize()对应
return 0;
}
其中对应的test.py内容如下:
#Filename test.py
def Hello():
print "Hello,World!"
开始调试,编译没有报错,当运行到PyEval_CallObject语句后报错,信息如下:
argument list must be a tuple in <module 'threading' from 'C:\Python27\lib\threading.pyc'> ignored
求大神指教
兄弟你终于做了我不忍看的事情<imgsrc="http://www.oschina.net/js/ke/plugins/emoticons/images/10.gif"alt=""/>回复<aclass='referer'target='_blank'>@xuan_general:你直接把psutil的源代码拿来用不就是了...什么意思啊?我想调通这个,psutil的那个我已经调通了,但还是涉及到C++调用的地方,是一样的。。
<spanstyle="color:#FF6600;font-family:微软雅黑,Verdana,sans-serif,宋体;font-size:14px;line-height:normal;background-color:#FFFFFF;">argumentlistmustbeatuple
<spanstyle="color:#000000;font-family:微软雅黑,Verdana,sans-serif,宋体;font-size:14px;line-height:normal;background-color:#FFFFFF;">参数列表应该是一个元组
这个问题该怎么办呢?新手求指教PyEval_CallObject 第二个参数:TocallthePythonfunctionwithnoarguments,passinNULL,oranemptytuple 之前写的NULL是不行的版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。