我通过cython将我的python代码转换为c,然后编译.c文件并在我的项目中使用.so。
我的问题:
我在我的python代码中使用__file__
,在使用gcc编译时,它不会出错。但是当我在其他python文件中运行程序并导入.so时,从__file__
行出现错误。
怎样才能解决这个问题?是否有任何方法可以替换为__file__
?
答案 0 :(得分:11)
尝试在文件的开头添加:
import inspect
import sys
if not hasattr(sys.modules[__name__], '__file__'):
__file__ = inspect.getfile(inspect.currentframe())
答案 1 :(得分:0)
不太确定如何使python兼容,但gcc #define
s __FILE__
代码所在文件的名称。