python os模块在系统管理中的应用
时间:2022-07-27
本文章向大家介绍python os模块在系统管理中的应用,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
本文实例为大家分享了python os模块在系统管理中的应用代码,供大家参考,具体内容如下
#临时文件
import tempfile
tempfile.gettempdir()
#'C:UsersADMINI~1AppDataLocalTemp'
tempfile.mkstemp()
#(4, 'C:UsersADMINI~1AppDataLocalTemptmp9zc5ipzr')
tempfile.mkdtemp()
#'C:UsersADMINI~1AppDataLocalTemptmp94wxuh44'
#操作系统命令
import os
os.chdir(r'd:')
#切换到目录(r为转义字符)
os.listdir(r'd:')
#显示目录下的所有文件
os.makedirs(r'd:')
#创建路径的所有文件
os.mkdir(r'd:')
#创建文件
#查找
import glob
glob.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)调用任何函数之前,要先调用start()函数。要有d:ptest、和ptest下有三个目录:document、files、temp,才能进行其他操作 (2)调用(1)-(8)函数,只需要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: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 time
def 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')
以上就是本文的全部内容,希望对大家的学习有所帮助。
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 使用Keras预训练好的模型进行目标类别预测详解
- keras输出预测值和真实值方式
- 对python pandas中 inplace 参数的理解
- PHP基于GD2函数库实现验证码功能示例
- PHP合并两个或多个数组的方法
- PHP的mysqli_set_charset()函数讲解
- PHP常见加密函数用法示例【crypt与md5】
- PHP的mysqli_sqlstate()函数讲解
- PHP Laravel中的Trait使用方法
- PHP CURL使用详解
- 解析Python 偏函数用法全方位实现
- PHP读取目录树的实现方法分析
- python suds访问webservice服务实现
- 使用Python-OpenCV消除图像中孤立的小区域操作
- PHP实现数组和对象的相互转换操作示例