python os模塊在系統(tǒng)管理中的應(yīng)用
本文實例為大家分享了python os模塊在系統(tǒng)管理中的應(yīng)用代碼,供大家參考,具體內(nèi)容如下
#臨時文件
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ù)時要注意以下兩點
(1)調(diào)用任何函數(shù)之前,要先調(diào)用start()函數(shù)。要有d:\ptest、和ptest下有三個目錄:document、files、temp,才能進行其他操作
(2)調(diào)用(1)-(8)函數(shù),只需要test8()
例如:解決第八個問題
start() test8()
****d:\ptest、ptest下有三個目錄: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文件,如果有將其移動到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')
#移動
#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下,然后刪除原來的整個files目錄及其內(nèi)部的所有文件。
def test7(): #移動 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)找到此時notepad.exe文件的所在路徑,輸出其創(chuàng)建時間、最近訪問時間和最近修改時間,在輸出給文件的大小。
def find(top,name): #find與next_find形成一個輪回,只有發(fā)現(xiàn)文件,或文件夾為空時跳出
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:
#目錄為空時跳出
if not temp :
break
#更改遍歷目錄
top=os.path.join(top,temp)
#print(top)
find(top,name)
import time
def test8():
#將時間轉(zhuǎn)換為時間參數(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ù)轉(zhuǎn)換為標準時間
print("最近訪問時間",time.strftime('%c',geta))
print("最近修改時間",time.strftime('%c',getm))
print("創(chuàng)建時間",time.strftime('%c',getc))
print('大小%.3f'%(os.stat(find(r'd:\ptest','win.ini')).st_size/1024),'kB')
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
python opencv設(shè)置攝像頭分辨率以及各個參數(shù)的方法
下面小編就為大家分享一篇python opencv設(shè)置攝像頭分辨率以及各個參數(shù)的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-04-04
Python中time模塊與datetime模塊在使用中的不同之處
這篇文章主要介紹了Python中time模塊與datetime模塊在使用中的不同之處,是Python入門學習中的基礎(chǔ)知識,需要的朋友可以參考下2015-11-11
Python名片管理系統(tǒng)+猜拳小游戲案例實現(xiàn)彩(色控制臺版)
這篇文章主要介紹了Python名片管理系統(tǒng)+猜拳小游戲案例實現(xiàn)彩(色控制臺版),文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,感興趣的小伙伴可以參考一下2022-08-08

