python os模塊在系統管理中的應用
本文實例為大家分享了python os模塊在系統管理中的應用代碼,供大家參考,具體內容如下
#臨時文件
import tempfile tempfile.gettempdir()#’C:UsersADMINI~1AppDataLocalTemp’tempfile.mkstemp()#(4, ’C:UsersADMINI~1AppDataLocalTemptmp9zc5ipzr’)tempfile.mkdtemp()#’C:UsersADMINI~1AppDataLocalTemptmp94wxuh44’
#操作系統命令
import osos.chdir(r’d:’)#切換到目錄(r為轉義字符)os.listdir(r’d:’)#顯示目錄下的所有文件os.makedirs(r’d:11’)#創建路徑的所有文件os.mkdir(r’d:1’)#創建文件
#查找
import globglob.glob(’d:*.txt’)#目錄下的txt文件glob.glob(’d:*n.txt’)#目錄下的以n.txt結尾的文件
#遍歷目錄
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’)
調用以下函數時要注意以下兩點
(1)調用任何函數之前,要先調用start()函數。要有d:ptest、和ptest下有三個目錄:document、files、temp,才能進行其他操作(2)調用(1)-(8)函數,只需要test8()
例如:解決第八個問題
start()test8()
****d:ptest、ptest下有三個目錄: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文件復制到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’開頭的所有文件復制到files中。
def test2(): file_lists=glob.glob(’c:windows*’) #temp=[]#以’n’開頭的所有文件 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文件,如果有,將其復制到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('沒有notepad.exe文件')
(4)判斷document文件夾中是否有win.ini文件,如果有將其移動到temp中。
def test4(): if os.path.exists(r’d:ptestdocumentwin.ini’): shutil.move(r’d:ptestdocumentwin.ini’,r’d:ptesttemp’) else: print('沒有win.ini文件')
(5)判斷document文件夾中是否有system.ini文件,如果有將其以system.inf的名稱復制到temp中,然后刪除原文件。
def test5(): if os.path.exists(r’d:ptestdocumentsystem.ini’): #復制刪除 shutil.copy(r’d:ptestdocumentsystem.ini’,r’d:ptesttempsystem.inf’) os.remove(r’d:ptestdocumentsystem.ini’) #移動 #shutil.move(r’d:ptestdocumentsystem.ini’,r’d:ptesttemp’) else: print('沒有system.ini文件')
(6)在document下新建mydir文件夾,并將temp中的所有文件復制到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目錄及其內部所有文件以myfiles目錄名整體復制到mydir下,然后刪除原來的整個files目錄及其內部的所有文件。
def test7(): #移動 shutil.move(r’d:ptestfiles’,r’d:ptestdocumentmydirmyfiles’) ’’’#復制,刪除 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)找到此時notepad.exe文件的所在路徑,輸出其創建時間、最近訪問時間和最近修改時間,在輸出給文件的大小。
def find(top,name): #find與next_find形成一個輪回,只有發現文件,或文件夾為空時跳出 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) #說明上述文件和目錄中無查找內容,將目錄列表發給next_find函數 next_find(dirnames,top,name) def next_find(dirnames,top,name): for temp in dirnames: #目錄為空時跳出 if not temp : break #更改遍歷目錄 top=os.path.join(top,temp) #print(top) find(top,name)import timedef test8(): #將時間轉換為時間參數 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’))) #將時間參數轉換為標準時間 print('最近訪問時間',time.strftime(’%c’,geta)) print('最近修改時間',time.strftime(’%c’,getm)) print('創建時間',time.strftime(’%c’,getc)) print(’大小%.3f’%(os.stat(find(r’d:ptest’,’win.ini’)).st_size/1024),’kB’)
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。
相關文章: