python os模塊在系統(tǒng)管理中的應(yīng)用
本文實(shí)例為大家分享了python os模塊在系統(tǒng)管理中的應(yīng)用代碼,供大家參考,具體內(nèi)容如下
#臨時(shí)文件
import tempfile tempfile.gettempdir()#’C:UsersADMINI~1AppDataLocalTemp’tempfile.mkstemp()#(4, ’C:UsersADMINI~1AppDataLocalTemptmp9zc5ipzr’)tempfile.mkdtemp()#’C:UsersADMINI~1AppDataLocalTemptmp94wxuh44’
#操作系統(tǒng)命令
import osos.chdir(r’d:’)#切換到目錄(r為轉(zhuǎn)義字符)os.listdir(r’d:’)#顯示目錄下的所有文件os.makedirs(r’d:11’)#創(chuàng)建路徑的所有文件os.mkdir(r’d:1’)#創(chuàng)建文件
#查找
import globglob.glob(’d:*.txt’)#目錄下的txt文件glob.glob(’d:*n.txt’)#目錄下的以n.txt結(jié)尾的文件
#遍歷目錄
import re,os,os.path def run(top): for(dirname,subdirs,files) in os.walk(top): print('['+dirname+']') for fname in files: print(os.path.join(dirname,fname))if __name__==’__main__’: run(r’d:1’)
調(diào)用以下函數(shù)時(shí)要注意以下兩點(diǎn)
(1)調(diào)用任何函數(shù)之前,要先調(diào)用start()函數(shù)。要有d:ptest、和ptest下有三個(gè)目錄:document、files、temp,才能進(jìn)行其他操作(2)調(diào)用(1)-(8)函數(shù),只需要test8()
例如:解決第八個(gè)問(wèn)題
start()test8()
****d:ptest、ptest下有三個(gè)目錄:document、files、temp。
import os,glob,shutildef start(): if os.path.exists(r’d:ptest’): pass else: os.makedirs(r’d:ptestdocument’) os.makedirs(r’d:ptestfiles’) os.makedirs(r’d:ptesttemp’)
(1)將c:windows目錄下的所有ini文件復(fù)制到document中。
def test1(): file_lists=glob.glob(’c:windows*.ini’) for file in file_lists: shutil.copy(file,r’d:ptestdocument’)
(2)將c:windows目錄下以’n’開(kāi)頭的所有文件復(fù)制到files中。
def test2(): file_lists=glob.glob(’c:windows*’) #temp=[]#以’n’開(kāi)頭的所有文件 for file in file_lists: files=file.replace(’c:windows’,’’) if files.startswith(’n’): shutil.copy(file,r’d:ptestfiles’) #temp.append(file)
(3)判斷files文件夾中是否有notepad.exe文件,如果有,將其復(fù)制到temp中,并改名為mypad.exe。
def test3(): if os.path.exists(r’d:ptestfilesnotepad.exe’): shutil.copy(r’d:ptestfilesnotepad.exe’,r’d:ptesttempmypad.exe’) else: print('沒(méi)有notepad.exe文件')
(4)判斷document文件夾中是否有win.ini文件,如果有將其移動(dòng)到temp中。
def test4(): if os.path.exists(r’d:ptestdocumentwin.ini’): shutil.move(r’d:ptestdocumentwin.ini’,r’d:ptesttemp’) else: print('沒(méi)有win.ini文件')
(5)判斷document文件夾中是否有system.ini文件,如果有將其以system.inf的名稱復(fù)制到temp中,然后刪除原文件。
def test5(): if os.path.exists(r’d:ptestdocumentsystem.ini’): #復(fù)制刪除 shutil.copy(r’d:ptestdocumentsystem.ini’,r’d:ptesttempsystem.inf’) os.remove(r’d:ptestdocumentsystem.ini’) #移動(dòng) #shutil.move(r’d:ptestdocumentsystem.ini’,r’d:ptesttemp’) else: print('沒(méi)有system.ini文件')
(6)在document下新建mydir文件夾,并將temp中的所有文件復(fù)制到mydir下。
def test6(): if os.path.exists(r’d:ptestdocumentmydir’): pass else: os.mkdir(r’d:ptestdocumentmydir’) ’’’#遍歷找出文件 for (dirpath,dirnames,filenames)in os.walk(r’d:ptestdocument’): for file in filenames: print(os.path.join(dirpath,file)) ’’’ file_lists=glob.glob(’d:ptestdocument*’) for file in file_lists: if os.path.isfile(file): if os.path.exists(file): print('文件已存在') else: shutil.copy(file,r’d:ptestdocumentmydir’)
(7)將files目錄及其內(nèi)部所有文件以myfiles目錄名整體復(fù)制到mydir下,然后刪除原來(lái)的整個(gè)files目錄及其內(nèi)部的所有文件。
def test7(): #移動(dòng) shutil.move(r’d:ptestfiles’,r’d:ptestdocumentmydirmyfiles’) ’’’#復(fù)制,刪除 file_lists=glob.glob(r’d:ptestfiles*’) print(file_lists) if os.path.exists(r’d:ptestdocumentmydirmyfiles’): pass else: os.mkdir(r’d:ptestdocumentmydirmyfiles’) for file in file_lists: shutil.copy(file,r’d:ptestdocumentmydirmyfiles’) os.remove(file) os.rmdir(r’d:ptestfiles’) ’’’
(8)找到此時(shí)notepad.exe文件的所在路徑,輸出其創(chuàng)建時(shí)間、最近訪問(wèn)時(shí)間和最近修改時(shí)間,在輸出給文件的大小。
def find(top,name): #find與next_find形成一個(gè)輪回,只有發(fā)現(xiàn)文件,或文件夾為空時(shí)跳出 for (dirpath,dirnames,filenames) in os.walk(top): for file in filenames: if file==name: return os.path.join(dirpath,file) for dirs in dirnames: if dirs==name: return os.path.join(dirpath,dirs) #說(shuō)明上述文件和目錄中無(wú)查找內(nèi)容,將目錄列表發(fā)給next_find函數(shù) next_find(dirnames,top,name) def next_find(dirnames,top,name): for temp in dirnames: #目錄為空時(shí)跳出 if not temp : break #更改遍歷目錄 top=os.path.join(top,temp) #print(top) find(top,name)import timedef test8(): #將時(shí)間轉(zhuǎn)換為時(shí)間參數(shù) geta=time.gmtime(os.path.getatime(find(r’d:ptest’,’win.ini’))) getm=time.gmtime(os.path.getmtime(find(r’d:ptest’,’win.ini’))) getc=time.gmtime(os.path.getctime(find(r’d:ptest’,’win.ini’))) #將時(shí)間參數(shù)轉(zhuǎn)換為標(biāo)準(zhǔn)時(shí)間 print('最近訪問(wèn)時(shí)間',time.strftime(’%c’,geta)) print('最近修改時(shí)間',time.strftime(’%c’,getm)) print('創(chuàng)建時(shí)間',time.strftime(’%c’,getc)) print(’大小%.3f’%(os.stat(find(r’d:ptest’,’win.ini’)).st_size/1024),’kB’)
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. UDDI FAQs2. 解析原生JS getComputedStyle3. 刪除docker里建立容器的操作方法4. 阿里前端開(kāi)發(fā)中的規(guī)范要求5. XML入門的常見(jiàn)問(wèn)題(一)6. css進(jìn)階學(xué)習(xí) 選擇符7. html小技巧之td,div標(biāo)簽里內(nèi)容不換行8. 概述IE和SQL2k開(kāi)發(fā)一個(gè)XML聊天程序9. XML解析錯(cuò)誤:未組織好 的解決辦法10. Echarts通過(guò)dataset數(shù)據(jù)集實(shí)現(xiàn)創(chuàng)建單軸散點(diǎn)圖
