python - 获取不包括文档字符串的python函数源?
问题描述
您可能希望文档字符串不影响哈希,例如在 joblib 内存中。
有没有剥离文档字符串的好方法?inspect.getsource 和 inspect.getdoc 有点互相争斗:文档字符串被“清理”为一体。
解决方案
如果您只想散列函数的主体,无论文档字符串如何,都可以使用该function.__code__
属性。
它允许访问code
不受文档字符串影响的对象。
不幸的是,使用它,您将无法获得源代码的可读版本
def foo():
"""Prints 'foo'"""
print('foo')
print(foo.__doc__) # Prints 'foo'
print(foo.__code__.co_code) # b't\x00d\x01\x83\x01\x01\x00d\x02S\x00'
foo.__doc__ += 'pouet'
print(foo.__doc__) # Prints 'foo'pouet
print(foo.__code__.co_code) # b't\x00d\x01\x83\x01\x01\x00d\x02S\x00'
推荐阅读
- eclipse - 我在 Eclipse 上的 SAPUI5 项目的 Tomcat 服务器问题
- python - 为 Python38 安装 Elasticsearch 包失败
- visual-studio-code - 在“本地源...不存在”中添加 Nuget 包结果
- eclipse - 有没有办法在 Eclipse 运行配置中重用插件选择
- android - Android 操作系统不遵守网络安全配置
- android - 如果viewmodel不断重启,如何存储点击次数?
- macos - Safari 网络检查器在 mac 更新后停止工作
- javascript - 如何使用 css 模块自定义 div 的滚动条?
- sql - 如何在多个事件中按日期选择不同的实例
- unity3d - 如何在谷歌订阅续订时将用户链接到购买令牌