python os模塊在系統(tǒng)管理中的應(yīng)用
本文實(shí)例為大家分享了python os模塊在系統(tǒng)管理中的應(yīng)用代碼,供大家參考,具體內(nèi)容如下
#臨時(shí)文件
import tempfile tempfile.gettempdir() #'C:\\Users\\ADMINI~1\\AppData\\Local\\Temp' tempfile.mkstemp() #(4, 'C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\tmp9zc5ipzr') tempfile.mkdtemp() #'C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\tmp94wxuh44'
#操作系統(tǒng)命令
import os os.chdir(r'd:') #切換到目錄(r為轉(zhuǎn)義字符) os.listdir(r'd:') #顯示目錄下的所有文件 os.makedirs(r'd:\1\1') #創(chuàng)建路徑的所有文件 os.mkdir(r'd:\1') #創(chuàng)建文件
#查找
import glob glob.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è)問題
start() test8()
****d:\ptest、ptest下有三個(gè)目錄:document、files、temp。
import os,glob,shutil def start(): if os.path.exists(r'd:\ptest'): pass else: os.makedirs(r'd:\ptest\document') os.makedirs(r'd:\ptest\files') os.makedirs(r'd:\ptest\temp')
(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:\ptest\document')
(2)將c:\windows目錄下以'n'開頭的所有文件復(fù)制到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:\ptest\files') #temp.append(file)
(3)判斷files文件夾中是否有notepad.exe文件,如果有,將其復(fù)制到temp中,并改名為mypad.exe。
def test3(): if os.path.exists(r'd:\ptest\files\notepad.exe'): shutil.copy(r'd:\ptest\files\notepad.exe',r'd:\ptest\temp\mypad.exe') else: print("沒有notepad.exe文件")
(4)判斷document文件夾中是否有win.ini文件,如果有將其移動(dòng)到temp中。
def test4(): if os.path.exists(r'd:\ptest\document\win.ini'): shutil.move(r'd:\ptest\document\win.ini',r'd:\ptest\temp') else: print("沒有win.ini文件")
(5)判斷document文件夾中是否有system.ini文件,如果有將其以system.inf的名稱復(fù)制到temp中,然后刪除原文件。
def test5(): if os.path.exists(r'd:\ptest\document\system.ini'): #復(fù)制刪除 shutil.copy(r'd:\ptest\document\system.ini',r'd:\ptest\temp\system.inf') os.remove(r'd:\ptest\document\system.ini') #移動(dòng) #shutil.move(r'd:\ptest\document\system.ini',r'd:\ptest\temp') else: print("沒有system.ini文件")
(6)在document下新建mydir文件夾,并將temp中的所有文件復(fù)制到mydir下。
def test6(): if os.path.exists(r'd:\ptest\document\mydir'): pass else: os.mkdir(r'd:\ptest\document\mydir') '''#遍歷找出文件 for (dirpath,dirnames,filenames)in os.walk(r'd:\ptest\document'): for file in filenames: print(os.path.join(dirpath,file)) ''' file_lists=glob.glob('d:\ptest\document\*') for file in file_lists: if os.path.isfile(file): if os.path.exists(file): print("文件已存在") else: shutil.copy(file,r'd:\ptest\document\mydir')
(7)將files目錄及其內(nèi)部所有文件以myfiles目錄名整體復(fù)制到mydir下,然后刪除原來的整個(gè)files目錄及其內(nèi)部的所有文件。
def test7(): #移動(dòng) shutil.move(r'd:\ptest\files',r'd:\ptest\document\mydir\myfiles') '''#復(fù)制,刪除 file_lists=glob.glob(r'd:\ptest\files\*') print(file_lists) if os.path.exists(r'd:\ptest\document\mydir\myfiles'): pass else: os.mkdir(r'd:\ptest\document\mydir\myfiles') for file in file_lists: shutil.copy(file,r'd:\ptest\document\mydir\myfiles') os.remove(file) os.rmdir(r'd:\ptest\files') '''
(8)找到此時(shí)notepad.exe文件的所在路徑,輸出其創(chuàng)建時(shí)間、最近訪問時(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) #說明上述文件和目錄中無查找內(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 time def 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("最近訪問時(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í)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python動(dòng)態(tài)聲明變量賦值代碼實(shí)例
這篇文章主要介紹了Python動(dòng)態(tài)聲明變量賦值代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-12-12python學(xué)習(xí)之面向?qū)ο蟆救腴T初級(jí)篇】
Python從第一天開始就是面向?qū)ο蟮恼Z言。正因?yàn)槿绱?,?chuàng)建和使用類和對(duì)象是非常地容易。這篇文章主要介紹了python中面向?qū)ο蟮南嚓P(guān)資料,屬于python面向?qū)ο髮W(xué)習(xí)的初級(jí)篇,本章將幫助您在使用Python面向?qū)ο缶幊痰募夹g(shù)方面所有提高,有需要的朋友可以參考借鑒。2017-01-01python opencv設(shè)置攝像頭分辨率以及各個(gè)參數(shù)的方法
下面小編就為大家分享一篇python opencv設(shè)置攝像頭分辨率以及各個(gè)參數(shù)的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-04-04Python中time模塊與datetime模塊在使用中的不同之處
這篇文章主要介紹了Python中time模塊與datetime模塊在使用中的不同之處,是Python入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2015-11-11Python基礎(chǔ)篇之初識(shí)Python必看攻略
下面小編就為大家?guī)硪黄狿ython基礎(chǔ)篇之初識(shí)Python必看攻略。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-06-06Python名片管理系統(tǒng)+猜拳小游戲案例實(shí)現(xiàn)彩(色控制臺(tái)版)
這篇文章主要介紹了Python名片管理系統(tǒng)+猜拳小游戲案例實(shí)現(xiàn)彩(色控制臺(tái)版),文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,感興趣的小伙伴可以參考一下2022-08-08