CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  其他开发语言 >  脚本语言(Perl ,Python)

关于嵌入python的问题

楼主wjh1014(wjh)2004-12-01 21:36:26 在 其他开发语言 / 脚本语言(Perl ,Python) 提问

Programming   Python,   2nd   Edition上的例子  
   
  usermod.py   文件  
   
  import   string  
   
  message   =   'The   meaning   of   life...'  
   
  def   transform(input):  
          input   =   string.replace(input,   'life',   'Python')  
          return   string.upper(input)  
   
  embed-object.c    
   
  #include   <Python.h>  
   
  main(     )   {  
          char   *cstr;  
          PyObject   *pstr,   *pmod,   *pfunc,   *pargs;  
          printf("embed-object\n");  
          Py_Initialize(     );  
   
          /*   get   usermod.message   */  
          pmod   =   PyImport_ImportModule("usermod");  
          pstr   =   PyObject_GetAttrString(pmod,   "message");  
   
          /*   convert   string   to   C   */  
          PyArg_Parse(pstr,   "s",   &cstr);  
          printf("%s\n",   cstr);  
          Py_DECREF(pstr);  
   
          /*   call   usermod.transform(usermod.message)   */  
          pfunc   =   PyObject_GetAttrString(pmod,   "transform");  
          pargs   =   Py_BuildValue("(s)",   cstr);  
          pstr     =   PyEval_CallObject(pfunc,   pargs);  
          PyArg_Parse(pstr,   "s",   &cstr);  
          printf("%s\n",   cstr);  
   
          /*   free   owned   objects   */  
          Py_DECREF(pmod);  
          Py_DECREF(pstr);  
          Py_DECREF(pfunc);                 /*   not   really   needed   in   main(     )   */  
          Py_DECREF(pargs);                 /*   since   all   memory   goes   away     */  
  }  
   
  不知为什么PyImport_ImportModule总返回为NULL,但如果PyImport_ImportModule("math")就能成功。  
   
   
  问题点数:100、回复次数:4Top

1 楼xyzxyz1111(程序员的自我修养)回复于 2004-12-01 21:59:42 得分 100

usermod.py   和可执行文件的路径个是什么?Top

2 楼wjh1014(wjh)回复于 2004-12-02 10:49:18 得分 0

都放在同一个文件夹下面,并且执行   pmod   =   PyImport_ImportModule("usermod");时生成了usermod.pyc文件,但pmod为NULL啊Top

3 楼xyzxyz1111(程序员的自我修养)回复于 2004-12-02 14:19:53 得分 0

我运行了一遍,发现并没有成为NULL,一切正常牙。  
  你用的是Debug还是Release?我用的是Release  
  python   2.3.3  
  VC   6.0  
  编意完后把Release目录下的可执行文件放到usermod同目下,然后执行第。  
  Top

4 楼wjh1014(wjh)回复于 2004-12-08 17:27:48 得分 0

多谢xyzxyz1111(如是我闻)    
  我重新装了个python2。4,可以了  
  Top

相关问题

  • 如何把PYTHON嵌入到C++里
  • http嵌入
  • 嵌入视图
  • Excle嵌入IE
  • 嵌入开发
  • 怎样嵌入.gif?
  • 嵌入DelPhi 的 IDE?
  • 嵌入式的 SQL
  • c#页面嵌入!!
  • Eclipse3中嵌入J2ME

关键词

  • python
  • 执行
  • 文件
  • usermod
  • pmod
  • importmodule
  • pyimport
  • decref
  • py
  • pstr

得分解答快速导航

  • 帖主:wjh1014
  • xyzxyz1111

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo