内容简介:当我们使用salt-stack远程控制我们的机器时候,都是通过一个唯一的标识去链接,那么这个唯一标识如何定义呢?如果我们远程的机器是虚拟机,唯一的标识不是咱们server的sn号 也不是IP,那是什么呢?id这个在salt-stack已经帮我们规定好了,不允许有任何重复的id,这样不管是虚拟机还是物理机都有一个唯一标识的id了。
唯一标识问题
当我们使用salt-stack远程控制我们的机器时候,都是通过一个唯一的标识去链接,那么这个唯一标识如何定义呢?
如果我们远程的机器是虚拟机,唯一的标识不是咱们server的sn号 也不是IP,那是什么呢?
id这个在salt-stack已经帮我们规定好了,不允许有任何重复的id,这样不管是虚拟机还是物理机都有一个唯一标识的id了。
面向对象 python 2-3的区别
python2:
不写 object 就是 经典类 ,写 object 就是 新式类
class Foo() --> 经典类 class Foo(object) --> 新式类
python3:
写不写object 都是 新式类
class Foo() --> 新式类 class Foo(object) --> 新式类
例如:
经典类:
class D(): def run(self): print('this D') class C(): def run(self): print('this C') class B(D): pass class A(B,C): pass demo=A() demo.run() 如果使用python2版本去执行: 经典类(深度优先) this D
新式类:
class D(object): def run(self): print('this D') class C(D): def run(self): print('this C') class B(D): pass class A(B,C): pass demo=A() demo.run() 如果使用python2版本去执行: 新式类(非广度优先) this C
importlib 反射代码
三个方法:getattr,hasattr,setattr。
直接来看代码:
路径为:func/hosts/disk.py
class Disk(object): def run(self): print("disk running...")
import importlib #from func.hosts import disk Host_func_dic = { 'disk':'func.hosts.disk.Disk', # 'disk':'func.hosts.cpu.Cpu', # 'disk':'func.hosts.mem.Mem', } path = Host_func_dic.get('disk') ##path == 'func.hosts.disk.Disk' module_path,class_name = path.rsplit('.',maxsplit=1) ##resplit右边开始分割,只分割1次, print('module_path-->',module_path) #func.hosts.disk print('class_name-->',class_name) ##Disk #下面相当于from func.hosts import disk module = importlib.import_module(module_path) #import_module反射,getattr(disk,'Disk'),disk 代表disk.py,Disk代表类 disk_class = getattr(module,class_name) #实例化Disk类 JG=disk_class() JG.run() ##执行run方法
执行结果:
module_path--> func.hosts.disk class_name--> Disk disk running...
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 国际化语种名称的标识
- Azure资源托管标识浅析和实践
- 异构身份联盟统一身份标识模型研究
- 为企业实力代言!新华三获OpenStackCompatible标识
- 基于Azure资源托管标识来访问KeyVault
- Golang实现一种生存UUID唯一标识的方法
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Data Mining
Jiawei Han、Micheline Kamber、Jian Pei / Morgan Kaufmann / 2011-7-6 / USD 74.95
The increasing volume of data in modern business and science calls for more complex and sophisticated tools. Although advances in data mining technology have made extensive data collection much easier......一起来看看 《Data Mining》 这本书的介绍吧!