import pyd 文件后无法找到其中定义的函数,求助

2020-04-22 16:58:49 +08:00
 oldbird

test.py 中定义了一个 hello 函数并编译成了 test.pyd ,

将 test.pyd 拷到另一个脚本同目录下,import test 后,

如果直接在脚本中 print hasattr(test,"hello")返回为 True,

如果在脚本的某个类的方法中 print hasattr(test,"hello")返回为 False,

不知道什么原因,请教。

1957 次点击
所在节点    Python
3 条回复
chenstack
2020-04-22 20:49:10 +08:00
问的不清楚,在脚本的某个类的方法中 print hasattr(test,"hello"),这里的 test 是有定义了同名的变量覆盖了,直接 print(test)看下是啥
EricCartmann
2020-04-23 07:29:53 +08:00
Python 文件、对象命名的时候千万不要用这类词语,非要用的话前面加个“my_”,你这八成都是名字出了问题,系统找到别的地方去了。
EricCartmann
2020-04-23 07:34:45 +08:00
你在原始文件中可以用,是因为运行的时候导包从近到远,自身>同级目录>同工程>系统,移动到别处这个 test 不知道优先被当成谁了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/665047

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX