【发布时间】:2012-01-19 15:49:49
【问题描述】:
所以我有一个 c 到 python 的包装器,它接受输入字符串并将它们传递给 python 函数。我得到的错误是python API无法识别我的python文件......
PyObject *pName, *pModule, *pFunc;
QString pyFile="Test.py";
Py_Initialize();
pName = PyUnicode_FromString(pyFile.toAscii().data());
pModule = PyImport_Import(pName);
错误是“ImportError:没有名为 Test.py 的模块” 这是当我的 Test.py 与我的项目位于同一目录中时
当我将我的 Test.py 放在我的目录树中的一级时,出现了另一个错误 错误是“不支持按文件名导入”
所以我猜绝对路径不起作用?但是在我的示例中的第一种情况下,我清楚地将我的 Test.py 放在与我的项目相同的目录中,为什么会出现错误? python代码是:
import sys
import os
def printFileClass(fileName, className):
print ("The OMC CORBA File name is ", fileName,"\n")
print ("The selected Modelica Class is ", className)
return ("Done operations")
def main():
print ("Hello! Here is testing script's main \n")
if __name__=='__main__':
main()
【问题讨论】:
-
我强烈建议不要对任何 python 模块或脚本使用名称“test”。有一个具有该名称的内置模块,创建自己的模块总是会导致问题。尝试在导入时从模块名称中删除“.py”。
-
所以我只尝试了测试,但它给了我同样的错误... =(
标签: python file python-module python-c-api