您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

为什么PyImport_Import无法从当前目录加载模块?

为什么PyImport_Import无法从当前目录加载模块?

您需要要求PySys_SetArgv(int argc, char **argv, int updatepath)相对进口工作。这会将执行脚本的路径添加sys.pathif updatepathis0(更多信息,请参考文档)。

以下应该做的把戏

#include <Python.h>

int
main(int argc, char *argv[])
{
  Py_SetProgramName(argv[0]);  /* optional but recommended */
  Py_Initialize();
  PySys_SetArgv(argc, argv); // must call this to get sys.argv and relative imports
  PyRun_SimpleString("import os, sys\n"
                     "print sys.argv, \"\\n\".join(sys.path)\n"
                     "print os.getcwd()\n"
                     "import thing\n" // import a relative module
                     "thing.printer()\n");
  Py_Finalize();
  return 0;
}
其他 2022/1/1 18:20:15 有217人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶