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


Posted in Python onJune 22, 2020

本文实例为大家分享了python os模块在系统管理中的应用代码,供大家参考,具体内容如下

#临时文件

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'

#操作系统命令

import os
os.chdir(r'd:')
#切换到目录(r为转义字符)

os.listdir(r'd:')
#显示目录下的所有文件

os.makedirs(r'd:\1\1')
#创建路径的所有文件

os.mkdir(r'd:\1')
#创建文件

#查找

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')

调用以下函数时要注意以下两点

(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:\ptest\document')
 os.makedirs(r'd:\ptest\files')
 os.makedirs(r'd:\ptest\temp')

(1)将c:\windows目录下的所有ini文件复制到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'开头的所有文件复制到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文件,如果有,将其复制到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的名称复制到temp中,然后删除原文件。

def test5():
 if os.path.exists(r'd:\ptest\document\system.ini'):
 #复制删除
 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中的所有文件复制到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目录及其内部所有文件以myfiles目录名整体复制到mydir下,然后删除原来的整个files目录及其内部的所有文件。

def test7():
 #移动
 shutil.move(r'd:\ptest\files',r'd:\ptest\document\mydir\myfiles')
 
 '''#复制,删除
 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文件的所在路径,输出其创建时间、最近访问时间和最近修改时间,在输出给文件的大小。

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')

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中用startswith()函数判断字符串开头的教程
Apr 07 Python
python如何通过protobuf实现rpc
Mar 06 Python
python实现二叉查找树实例代码
Feb 08 Python
Python常见工厂函数用法示例
Mar 21 Python
python得到单词模式的示例
Oct 15 Python
Python 判断奇数偶数的方法
Dec 20 Python
简单了解Python3 bytes和str类型的区别和联系
Dec 19 Python
python词云库wordCloud使用方法详解(解决中文乱码)
Feb 17 Python
pytorch ImageFolder的覆写实例
Feb 20 Python
Python 为什么推荐蛇形命名法原因浅析
Jun 18 Python
python如何变换环境
Jul 21 Python
如何在scrapy中捕获并处理各种异常
Sep 28 Python
解决tensorflow读取本地MNITS_data失败的原因
Jun 22 #Python
python实现猜数游戏(保存游戏记录)
Jun 22 #Python
基于Tensorflow读取MNIST数据集时网络超时的解决方式
Jun 22 #Python
在Mac中配置Python虚拟环境过程解析
Jun 22 #Python
tensorflow/core/platform/cpu_feature_guard.cc:140] Your CPU supports instructions that this T
Jun 22 #Python
TensorFlow的环境配置与安装教程详解(win10+GeForce GTX1060+CUDA 9.0+cuDNN7.3+tensorflow-gpu 1.12.0+python3.5.5)
Jun 22 #Python
keras的load_model实现加载含有参数的自定义模型
Jun 22 #Python
You might like
PHP获取文件绝对路径的代码(上一级目录)
2011/05/29 PHP
php函数指定默认值方法的小例子
2013/12/04 PHP
PHP文件及文件夹操作之创建、删除、移动、复制
2016/07/13 PHP
PHP的自定义模板引擎
2017/03/24 PHP
JQuery 给元素绑定click事件多次执行的解决方法
2014/09/09 Javascript
基于Bootstrap的Metronic框架实现条码和二维码的生成及打印处理操作
2016/08/29 Javascript
jQuery模拟实现的select点击选择效果【附demo源码下载】
2016/11/09 Javascript
基于iscroll.js实现下拉刷新和上拉加载效果
2016/11/28 Javascript
深入理解JavaScript中的for循环
2017/02/07 Javascript
js 原型对象和原型链理解
2017/02/09 Javascript
Vuex模块化实现待办事项的状态管理
2017/03/15 Javascript
基于JavaScript实现的希尔排序算法分析
2017/04/14 Javascript
基于node.js express mvc轻量级框架实践
2017/09/14 Javascript
jQuery实现仿京东防抖动菜单效果示例
2018/07/06 jQuery
浅谈webpack4.x 入门(一篇足矣)
2018/09/05 Javascript
ES6 系列之 Generator 的自动执行的方法示例
2018/10/19 Javascript
详解vue 组件
2020/06/11 Javascript
python实现的一只从百度开始不断搜索的小爬虫
2013/08/13 Python
python格式化字符串实例总结
2014/09/28 Python
python验证码识别教程之滑动验证码
2018/06/04 Python
Python使用selenium + headless chrome获取网页内容的方法示例
2019/10/16 Python
HTML5 和小程序实现拍照图片旋转、压缩和上传功能
2018/10/08 HTML / CSS
东方电视购物:东方CJ
2016/10/12 全球购物
介绍一下Cookie和Session及他们之间的区别
2012/11/20 面试题
C#中有没有运算符重载?能否使用指针?
2014/05/05 面试题
教师旷工检讨书
2014/01/18 职场文书
三年级数学教学反思
2014/01/31 职场文书
出纳工作岗位责任制
2014/02/02 职场文书
2014年党员个人剖析材料
2014/10/08 职场文书
个人融资协议书范本两则
2014/10/15 职场文书
中学推普周活动总结
2015/05/07 职场文书
2015年幼儿园保育工作总结
2015/05/12 职场文书
2019年亲子运动会口号
2019/10/11 职场文书
曾国藩励志经典名言37句,蕴含哲理
2019/10/14 职场文书
股东合作协议书模板2篇
2019/11/05 职场文书
基于PyQT5制作一个桌面摸鱼工具
2022/02/15 Python