为多个操作系统

时间:2016-05-19 13:54:07

标签: python design-patterns

昨天我在一次采访中被问到一个问题,即实施getIPAdrress(),它可以返回与其运行的OS无关的系统的IP地址。

我尝试使用os,subprocess module编写它。我首先检查os名称,然后根据我使用子进程触发命令(ipconfig \ ifconfig),然后从那里查找并返回IP地址。

我知道这种做法并不像所说的那样好。我被进一步要求我选择的一些设计模式做同样的事情,基本上无论os是什么都可以运行,好像现在我的函数只能在windows和linux中运行os。

有了这篇文章我想知道是否有更好的方法。

谢谢, 学习忍者

1 个答案:

答案 0 :(得分:0)

这是一种有趣的方式来获得面向外部的IP跨平台。

import urllib

url = "http://checkip.amazonaws.com/"
response = urllib.urlopen(url).read().rstrip()
print response