可能重复:
使用Python的stdlib查找本地IP地址
要获取我的本地主机IP地址,我这样做socket.gethostbyname(socket.gethostname()).但它给了我答案127.0.0.1.如果我这样做,an_existing_socket.getsockname()[0]我会得到答案0.0.0.0.
我需要我的'真实'IP地址(例如192.168.xx)来修改配置文件.我怎么能得到它?
我想知道重用内置类型或函数名称可能会产生什么后果.为了说明我的意思,请阅读以下示例:
list()是一个内置的功能.如果我创建另一个list()方法,我认为它将覆盖原始方法,以便执行我的而不是内置的方法.但如果我这样做会发生什么list=[a,z,e,r,t,y]?是否存在内置list类型或list()功能的风险?
我知道做这样的事情并不好.但我的目标只是了解在这些情况下会发生什么......
在我的应用程序中,我正在从文件中加载一些数据.这可能会失败并引发异常.因此,我想记录一个警告并继续加载下一个数据.
我这样做:
try:
data_A = getDefaultConf(param_1,param_2)
except Exception as e:
log(WARNING, "Failed to get default parametres: "+str(e))
try:
data_B = getDefaultConf(param_1,param_3)
except Exception as e:
log(WARNING, "Failed to get default parametres: "+str(e))
try:
data_C = getDefaultConf(param_4,param_5)
except Exception as e:
log(WARNING, "Failed to get default parametres: "+str(e))
try:
data_D = getDefaultConf(param_4,param_6)
except Exception as e:
log(WARNING, "Failed to get default parametres: "+str(e))
try:
data_E = getDefaultConf(param_4,param_7)
except Exception as e:
log(WARNING, "Failed to get default parametres: "+str(e))
Run Code Online (Sandbox Code Playgroud)
它有效,但看起来很重.所以,我的问题是:它是否有办法让它更轻松?它可能是这样的工作:
try:
data_A …Run Code Online (Sandbox Code Playgroud)