python2.7自動建立虛擬機器,python2.7虛擬機器

來源:互聯網
上載者:User

python2.7自動建立虛擬機器,python2.7虛擬機器

python2.7自動建立虛擬機器,單台、多台(IP為虛擬機器名)

[1]. [代碼] [Python]代碼跳至 [1] ?
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 # -*- coding: cp936 -*-#jk409 於2014-8-27用python2.7編寫的批量複製檔案和修改虛擬機器組態檔的指令碼import os,os.path,shutil import re,time class main: def__init__(self,name,drive,sysos):self.name= name self.drive= drive self.dst_dir= self.drive+':\\'+self.name+'\\'self.dst_file= self.dst_dir+self.nameself.src_name= sysos self.src_dir= '.\\'+self.src_name+'\\'self.src_file= self.src_dir+self.src_name#self.dir=os.path.dirname(self.dst_file)defcopy_file(self):if(os.path.exists(self.dst_dir)==False): os.makedirs(self.dst_dir)print'開始建立虛擬機器,請稍等......'try:#shutil.copytree(self.src_dir,self.dst_dir)shutil.copyfile(self.src_file+'-0.vmdk',self.dst_file+'-0.vmdk')shutil.copyfile(self.src_file+'.vmdk',self.dst_file+'.vmdk')shutil.copyfile(self.src_file+'.vmxf',self.dst_file+'.vmxf')shutil.copyfile(self.src_file+'.vmsd',self.dst_file+'.vmsd')shutil.copyfile(self.src_file+'.nvram',self.dst_file+'.nvram')exceptException as err: print(err) else:printself.dst_dir,'is Exists !'defmode_file(self):#self.dst_file.replace('93.101',self.name)f=file(self.src_file+'.vmx','r')f1=open(self.dst_file+'.vmx','w')forf2 in f.readlines(): f1.write(f2.replace(self.src_name,self.name))#print(f2.replace('93.101',self.name))f1.close() f.close()printself.name,'虛擬機器已建立成功!'while1: print''' 1.建立單個虛擬機器2.建立多個虛擬機器3.退出(quit)'''chioce=raw_input("您的選擇[1/2/3]:")ifchioce =='3' or chioce =='quit': exit(0)ifchioce =='': print'輸入錯誤,請重新輸入......'time.sleep(2)continue;sysos=raw_input('請選擇你要按照的系統:[windos2003/centos6]:')ifchioce =='1': while1: ip=raw_input('請輸入虛擬機器名稱:')name= ip ifip =='quit': break;i=int(ip.split('.')[1])ifi%2== 1: drive='E';ifi%2== 0: drive='F';main(name,drive,sysos).copy_file()main(name,drive,sysos).mode_file()ifchioce =='2': ip=raw_input('請輸入開始IP地址的後2段以及結束IP最後一段[*.*-*]:')ip00=ip.split('-')[0]ip01=ip00.split('.')[0]ip02=ip00.split('.')[1]printip02 ip03=ip.split('-')[1]fori in range(int(ip02),int(ip03),1):ifi%2== 1: name=ip01+'.'+str(i)drive='E'ifi%2== 0: name=ip01+'.'+str(i)drive='F'printname main(name,drive,sysos).copy_file()main(name,drive,sysos).mode_file()

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.