有没有方法获取到一个 py 文件中所有方法的名称,除了使用正则匹配

2021-04-02 17:49:28 +08:00
 alittlecode
2193 次点击
所在节点    Python
8 条回复
imn1
2021-04-02 17:59:53 +08:00
一切皆为对象
import re
dir(re)
alittlecode
2021-04-02 18:03:40 +08:00
@imn1 这样把引入的变量什么的都包含了
est
2021-04-02 18:15:55 +08:00
ast 模块
demobin
2021-04-02 18:18:48 +08:00
for item in re.__all__:
print(item, hasattr(getattr(re, item), '__call__'))
imn1
2021-04-02 18:21:21 +08:00
@alittlecode #2
你自己多想一步不行么?有个内置函数叫 callable()

如果你想更“正式”一点,以前有个包叫 optparse,不过已经废弃了
现在可以用 inspect,typing 之类的自己组织
chionetw5
2021-04-02 19:36:05 +08:00
通过 importlib
xiaolinjia
2021-04-02 21:16:01 +08:00
inspect.getmembers(promotions, inspect.isfunction)
dingwen07
2021-04-02 21:21:50 +08:00
inspect 模块

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

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

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

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

© 2021 V2EX