python基础学习shutil高级的文件,目录,压缩包处理模块

shutil高级的文件,目录,压缩包处理模块
import shutil

复制
shutil.copyfileobj(f1,f2) #从一个文件对接复制到另一个文件对象,需要先打开文件
shutil.copyfile() #拷贝文件
shutil.copystat() #只拷贝文件状态信息 包括 modebits,atime,mtime,flags
shutil.copymode() #值拷贝权限。内容和组,用户均不改变
shutil.copy() #拷贝文件和权限
shutil.copy2() #同时拷贝文件和状态信息
shutil.copytree() #递归拷贝文件或目录
shutil.rmtree() #递归删除文件或目录
shutil.move() #移动文件

压缩包

shutil.make_archive(base_name,format,..) 创建压缩包并返回文件路径
base_name 压缩包的文件名
format:压缩包的种类 ("zip","tar","gztar","bztar")
root_dir:压缩的文件路径
owner:用户,默认当前用户
group:组,默认当前组
logger:用于记录日志,通常是logging.logger对象
例:shutil.make_archive("www","gztar",root_dir="/home/www")

shutil对压缩包的处理是调用了zipfile和tarfile 两个模块来进行处理
使用这两个模块进行解压缩
import zipfile
z = zipfile.zipfile(‘www/zip‘,‘r‘)
z.extractall()
z.close

import tarfile
tar = tarfile.open(‘www.tar‘,‘r‘)
tar.extractall()
tar.close

import gzip
import os
def un_gz(file_name):
    """ungz zip file"""
    f_name = file_name.replace(".gz", "")
    #获取文件的名称,去掉
    g_file = gzip.GzipFile(file_name)
    #创建gzip对象
    open(f_name, "w+").write(g_file.read())
    #gzip对象用read()打开后,写入open()建立的文件里。
    g_file.close()
    #关闭gzip对象
时间: 2024-10-12 12:19:20

python基础学习shutil高级的文件,目录,压缩包处理模块的相关文章

python基础学习-面向对象高级

一.反射 1.什么是反射? 指的是在程序运行过程中可以"动态 (不见棺材不掉泪)"获取对象的信息 2.为什么要用反射? 在不清楚对方程序提供的obj值对其进行分析处理时,不知道从什么地方获取,也不清楚这个值得属性的情况下 就需要用到反射进行动态获取进行分析 3.如何实现反射? #举例: class People: def __init__(self,name,age): self.name=name self.age=age def say(self): print('<%s:%

python基础学习05(核心编程第二版)部分

# -*- coding: utf-8 -*- # ==================== #File: python #Author: python #Date: 2014 #==================== __author__ = 'Administrator' #dict{键:值} #哈希 #注:字典是无顺序的,所以你懂的 #创建与赋值 dict1={} dict2={'name':'apply','avg':24,'sex':'man'} print dict1,dict2

python基础学习07(核心编程第二版)部分

# -*- coding: utf-8 -*- # ==================== #File: python #Author: python #Date: 2014 #==================== __author__ = 'Administrator' #file与input output #文件对象 #简单说来,就是写入和读取的方式 #file(),open()2个操作都是一样的,一般推荐open() #语法 # open(name[, mode[, bufferin

Python基础学习(九)

Python 多线程 多线程类似于同时执行多个不同程序,多线程运行有如下优点: 使用线程可以把占据长时间的程序中的任务放到后台去处理. 用户界面可以更加吸引人,这样比如用户点击了一个按钮去触发某些事件的处理,可以弹出一个进度条来显示处理的进度 程序的运行速度可能加快 在一些等待的任务实现上如用户输入.文件读写和网络收发数据等,线程就比较有用了.在这种情况下我们可以释放一些珍贵的资源如内存占用等等. 线程在执行过程中与进程还是有区别的.每个独立的线程有一个程序运行的入口.顺序执行序列和程序的出口.

Python基础学习(十)

Python I/O模型 同步IO和异步IO,阻塞IO和非阻塞IO分别是什么,到底有什么区别?不同的人在不同的上下文下给出的答案是不同的.所以先限定一下本文的上下文. 概念说明 在进行解释之前,首先要说明几个概念: 用户空间和内核空间 进程切换 进程的阻塞 文件描述符 缓存 I/O 用户空间与内核空间 现在操作系统都是采用虚拟存储器,那么对32位操作系统而言,它的寻址空间(虚拟存储空间)为4G(2的32次方).操作系统的核心是内核,独立于普通的应用程序,可以访问受保护的内存空间,也有访问底层硬件

python基础学习09(核心编程第二版)部分

# -*- coding: utf-8 -*- # ==================== #File: python #Author: python #Date: 2014 #==================== __author__ = 'Administrator' #什么是函数 #就是引用,创建,使用 #例子 def foo(): print '233' foo() #返回与函数类型 def foo1():#是一个过程 print 'hello world!' foo1() foo

python基础学习11(核心编程第二版)部分

# -*- coding: utf-8 -*- # ==================== #File: python #Author: python #Date: 2014 #==================== __author__ = 'Administrator' #执行环境 #可调用对象 """ 许多的python 对象都是我们所说的可调用的,即是任何能通过函数操作符“()”来调用的对象.要调用可调用对象, 函数操作符得紧跟在可调用对象之后.Python 有4

Python基础学习 总结篇

Python基础学习总结 先附上所有的章节: Python学习(一)安装.环境配置及IDE推荐 Python学习(二)Python 简介 Python学习(三)流程控制 Python学习(四)数据结构(概要) Python学习(四)数据结构 —— int float Python学习(四)数据结构 —— str Python学习(四)数据结构 —— bool Python学习(四)数据结构 —— list tuple range Python学习(四)数据结构 —— set frozenset

python基础学习日志day5-各模块文章导航

python基础学习日志day5---模块使用 http://www.cnblogs.com/lixiang1013/p/6832475.html python基础学习日志day5---time和datetime模块 http://www.cnblogs.com/lixiang1013/p/6848245.html python基础学习日志day5---random模块http://www.cnblogs.com/lixiang1013/p/6849162.html python基础学习日志da