您的位置:首页技术文章
文章详情页

python os模块在系统管理中的应用

【字号: 日期:2022-07-19 18:39:06浏览:2作者:猪猪

本文实例为大家分享了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’)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持好吧啦网。

标签: Python 编程
相关文章: