擅长:python、mysql、java
<p>您可以从python程序中选择多个选项来执行此操作。</p>
<p>人们可以像你展示的那样使用<code>ip</code>工具。虽然这不是最好的选择,但通常情况下,这项工作做得有点慢,程序也有点难。</p>
<p>另一种方法是通过直接使用内核netlink接口来完成<code>ip</code>自己所做的事情。我知道<a href="http://www.carisma.slowglass.com/~tgr/libnl/" rel="nofollow">libnl</a>有一些实验性的(?)python绑定。这可能管用,但你必须处理很多低级的事情。对于简单的“set-and-get”ips,我不推荐使用这种方法,但这是最“正确”和可靠的方法。</p>
<p>在我看来,最好的方法(如果您只想设置和获取ips)是使用NetworkManagers dbus接口。虽然这是非常有限的,并且可能有自己的问题(它的行为可能不像您希望的那样),但如果NetworkManager仍在运行,这是最直接的方法。</p>
<p>所以,如果你想弄脏你的手,选择<code>libnl</code>方法,它显然是更好的,但也可以做更多的工作。您还可以使用NetworkManager dbus接口,这取决于您的需要和一般的系统设置。否则你就只能这样了。</p>