由于Python功能强大并且各种应用程序库十分丰富,它常常可以以一种简单的方式来完成C/C++比较难实现的功能。Python/C API可以使得C/C++程序员在他们的程序中嵌入Python程序,使得开发的灵活性和简易性大大提高。在这里我以python 2.5版本举一个小例子来简单讲述一下Python/C API的用法,如果大家有兴趣可以参见官方文档来深入学习:

http://docs.python.org/c-api/

 

在code之前需要先做一些准备:

1. 把python的include和libs目录分别加到vc的include和lib directories中去。
2. 另外,由于python没有提供debug lib,具体地说,就是没有提供python25_d.lib了,所以默认只能在Release下运行。
3. 可以自己编译python的源代码来得到python25_d.lib。
4. 或者,想要在debug下运行程序的话,你要把pyconfig.h(在python25/include/目录下)的大概是在283行,
5. 把pragma comment(lib,"python25_d.lib")改成pragma comment(lib,"python25.lib"),让python都使用非debug lib.

 

我们需要嵌套的这段Python代码用于遍历目录得到其下的所有文件。将这个.py文件copy到工程目录中。

#-*- coding:gbk -*-
   2:  
   3: import os,sys
   4:  
   5: def walk_dir(dirpath,dirfile):
if not os.path.exists(dirpath) :
'%s does not exits, please try again !' %dirpath
return -1
   9:  
in os.walk(dirpath)][0]
#print 'dirtuple is',dirtuple
  12:     root=dirtuple[0]
#print 'root is',root
if root[len(root)-1] != os.sep :
  15:         root+=os.sep
  16:     
'a')
in dirtuple[2]:
'%s\n' % (root+files))
#avoid buffer overflow
  21:     f.close()
  22:  
in dirtuple[1]:
  24:         walk_dir(root+dirs,dirfile)
  25:  
return 1
  27:  

相关文章:

  • 2022-01-24
  • 2022-12-23
  • 2021-10-03
  • 2022-01-30
  • 2021-07-15
  • 2021-05-29
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案