在Python程序中获取共享库soname

1 投票
3 回答
1130 浏览
提问于 2025-04-17 18:17

我正在用ctypes为一个共享的Linux库写一个Python封装。有没有什么方法可以通过编程的方式提取这个库的soname(共享对象名称)?(我知道可以通过objdump命令的输出获取这些信息,但我想知道是否可以不执行系统命令就做到这一点。)

3 个回答

4

当然,你可以使用 subprocess 来执行 objdump,然后解析它的输出以获取 soname,但这正是你想要避免的。不过,这里有一个 shell 的示例,具体可以查看 这里

另外,还有一个叫 pyelftools 的工具可以看看。从文档来看,它应该能够获取所有必要的数据。

0

我搞明白了;解决方案(使用pyelftools)已经发布在这里

撰写回答