我們在boost庫下,我們很容易可以實現C++與Python的混合編程,現在我們想在C++下使用boost::python::import其他路徑下的模塊,我們該如何是好呢?
- try
- {
- using namespace boost::python;
-
- object main_module = import( "__main__" );
- object main_namespace = main_module.attr( "__dict__" );
- //object sys = import( "sys" );
- object ignored = exec(
- "import sys\n"
- "sys.path.append('./python')\n", main_namespace );
- //ignored = exec( "print sys.path", main_namespace );
- }
- catch ( ... )
- {
- PyErr_Print();
- }
上述,我們使用Python的sys模塊來幫助我們注冊當前目錄下的python目錄到python的import目錄,於是我們就可以引用其他路徑下的模塊了。
- import sys
- sys.path.append('./python')