一 前言

如果读者读过知识追寻者其它文件相关专题操作,再来学习这篇高阶文件操作会让你的文件知识瞬间高涨一台阶;本篇文章有些函数作用给知识追寻中感觉是用来伪造信息的,相信如果做网络渗透的读者应该很喜欢这些操作;这本文件读者不仅可以学到文件的移动,复制,删除,还能对文件的元数据进行操作;shutil模块还支持归档操作,这不是本文的重点,详细可以参见官网,如果有空,知识追寻者以后会做这方面的研究学习;随手点赞谢谢;

公众号:知识追寻者

知识追寻者(Inheriting the spirit of open source, Spreading technology knowledge;)

二 shutil 常用函数介绍

三 shutil 函数使用示例

3.1copyfileobj

  1. 在source文件夹下创建zszxz.txt,指定源文件路径为sour_path
  2. 指定目的文件名路径tar_path
  3. 执行copyfileobj方法,将源文件对象复制到目的文件对象
# -*- coding: utf-8 -*-
import shutil""" 复制文件  """
sour_path = r'C:testsourcezszxz.txt'
tar_path = r'C:testtargetnew_zszxz.txt'
result = shutil.copyfileobj(open(sour_path,'r',encoding='utf=8') , open(tar_path,'w',encoding='utf=8') )

3.2copyfile

  1. 将sour_path文件拷贝至tar_path
  2. 打印返回路径result
# -*- coding: utf-8 -*-
import shutilsour_path = r'C:testsourcezszxz.txt'
tar_path = r'C:testtargetnew_zszxz.txt'
result = shutil.copyfile(sour_path, tar_path)
print(result)

输出:

C:testtargetnew_zszxz.txt

3.3copymode

  1. 源文件与,目标文件当已存在
  2. 仅拷贝源文件sour_path的权限至目标文件tar_path
# -*- coding: utf-8 -*-
import shutilsour_path = r'C:testsourcezszxz.txt'
tar_path = r'C:testtargetnew_zszxz.txt'
shutil.copymode(sour_path, tar_path)

3.4 copystat

  1. 拷贝sour_path文件的权限,上次进入文件时间,上次修改文件时间,标志位至目标文件tar_path
  2. 不影响文件的内容,属主,数组;
# -*- coding: utf-8 -*-
import shutilsour_path = r'C:testsourcezszxz.txt'
tar_path = r'C:testtargetnew_zszxz.txt'
shutil.copystat(sour_path, tar_path)

3.5 copy

拷贝sour_path文件至tar_path文件,不包括源文件所有元数据信息

# -*- coding: utf-8 -*-
import shutilsour_path = r'C:testsourcezszxz.txt'
tar_path = r'C:testtargetnew_zszxz.txt'
shutil.copy(sour_path, tar_path)

3.6 copy2

拷贝sour_path文件至tar_path文件,尝试拷贝源文件所有元数据信息

# -*- coding: utf-8 -*-
import shutilsour_path = r'C:testsourcezszxz.txt'
tar_path = r'C:testtargetnew_zszxz.txt'
shutil.copy2(sour_path, tar_path)

3.7copytree

  1. 删除目标target(否则异常,详细说明见章节2)
  2. 将sour_path目录下文件拷贝tar_path目录下;
  3. 忽略拷贝.pyc结尾文件,tmp开头的目录
# -*- coding: utf-8 -*-
import shutilsour_path = r'C:testsource'
tar_path = r'C:testtarget'
result = shutil.copytree(sour_path, tar_path, ignore=shutil.ignore_patterns('*.pyc', 'tmp*'))
print(result)

输出

C:testtarget

3.8 rmtree

  1. 删除整个source目录下所有文件
  2. 移除文件发生异常会由shutil.Error进行处理(读者应自定义异常进行处理,知识追寻者这边不作详细处理)
# -*- coding: utf-8 -*-
import shutilsour_path = r'C:testsource'
shutil.rmtree(sour_path, onerror=shutil.Error)

3.9 move

  1. 将source整个目录包括文件移动到target目录下
  2. 返回目标目录
# -*- coding: utf-8 -*-
import shutilsour_path = r'C:testsource'
tar_path = r'C:testtarget'
result = shutil.move(sour_path, tar_path, copy_function=shutil.copy2)
print(result)

输出

C:testtargetsource

3.10 disk_usage

# -*- coding: utf-8 -*-
import shutilpath = r'C:testtargetsource'
result = shutil.disk_usage(path)
print(result)

输出:

usage(total=510979805184, used=230944526336, free=280035278848)

.pyc文件_python专题shutil高阶文件操作相关推荐

  1. Python 标准库之 shutil 高阶文件操作『详细』

    Python标准库之 shutil 高阶文件操作『详细』 文章目录 Python标准库之 shutil 高阶文件操作『详细』 一.Python shutil介绍

  2. pythoncopy函数_Python的shutil模块中文件的复制操作函数详解

    copy()chutil.copy(source, destination) shutil.copy() 函数实现文件复制功能,将 source 文件复制到 destination 文件夹中,两个参数 ...

  3. 如何用python创建文件_python在指定目录创建文件

    Python无法创建文件夹,如何制定创建目录?温柔也好,凶狠也罢.想有一个陌生的自己,给自己一些惊喜. /主目录/桌面/gnssIR_python-master:/usr/local/bin:/usr ...

  4. python读取所有txt文件_python如何批量读取txt文件

    python批量读取txt文件的方法:首先导入系统模块:然后将文件夹路径更改为需要批量读取的txt文件存放的路径:再调用系统模块得到该文件夹下的所有文件名称:最后遍历文件夹,读取txt文件. 如果文件 ...

  5. python高级教程html文件_Python之html转docx文件高级用法

    说到word文档转html的,网上一搜一大把,各种在线word转html页面,使用起来也方便.但是在实际项目中要使用的话,需要自己开发,这里就提供一个简单的方法. 后缀 .doc 和 .docx 都是 ...

  6. python怎么调用文件_python 中如何引用头文件

    python 引入 导入 自定义模块, python 引入 导入 外部文件 python 引入 导入 自定义模块, python 引入  导入 外部文件 项目中想使用以前的代码,或者什么样的需求致使你 ...

  7. python高阶函数看不懂_Python进阶:高阶函数的详细说明

    这篇文章讲述了Python进阶:高阶函数的详细说明有需要的朋友可以参考 函数式编程 函数是Python内建支持的一种封装,我们通过把大段代码拆成函数,通过一层一层的函数调用,就可以把复杂任务分解成简单 ...

  8. python四大高阶函数_Python里的高阶函数

    1.map() 是 Python 内置的高阶函数,它接收一个函数 f 和一个 list,并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list 并返回. def f(x): re ...

  9. python pandas 处理相同标题的csv文件_Python使用pandas处理CSV文件的实例讲解

    Python中有许多方便的库可以用来进行数据处理,尤其是Numpy和Pandas,再搭配matplot画图专用模块,功能十分强大. CSV(Comma-Separated Values)格式的文件是指 ...

最新文章

  1. 开机时不显示启动菜单grub
  2. 为什么地磅的读数有进制么_谈谈二进制(三)——位运算及其应用
  3. 【OpenCV3】基于双目视觉的三维重建
  4. 20155332 mybash的实现
  5. win 10 java 安装_win10---Java安装及环境变量配置
  6. Mac Nginx 配置 Tomcat 配置 jdk环境变量 Nginx部署服务遇到的坑(2)
  7. Matlab图形修饰之裁剪处理
  8. 原生JS与其他JS 区别
  9. 苹果Macbook快捷键使用大全
  10. LaTeX入门——如何独立排版出一篇期刊论文
  11. 关于美颜滤镜您了解多少?
  12. 蔡学镛:文档模板,天使或恶魔?
  13. C++判断输入内容是否为整数
  14. 网站优化基本技巧(网站优化的主要工作是什么)
  15. 新鲜出炉!ECCV2022 107个开源数据集合辑,全球 AI 研究热点一网打尽
  16. 第 十四 章 继承:究竟是好是坏
  17. python3中的urllib.parse的常用方法
  18. http协议与https协议+UDP协议和TCP协议+WebSocket协议下服务端主动去发送信息+对称加密与非对称加密+get和post请求方式区别详解+浏览器内核以及jsj解析引擎
  19. 浮点数加减丢失精度原因剖析
  20. stm32 硬件spi半双工三线的一些研究心得

热门文章

  1. 3分钟学会如何调度运营海量Redis系统
  2. 30道最常问的Java基础面试题
  3. 如何防止同一账号多次登录
  4. Git与Github操作指南(入门)
  5. vue2.0路由之编程式导航
  6. myeclipse连接hadoop集群编程及问题解决
  7. 高并发高负载的大型网站系统架构
  8. Vista命令行大全
  9. 【洛谷 P2763】 试题库问题(最大流)
  10. maven scope 属性和生命周期