python中shutil模块
shutil是对OS中文件操作的补充:移动、复制、打包、压缩、解压。
1.copy文件内容到另一个文件,可以copy指定大小的内容。
shutil.copyfileobj(fsrc, fdst[, length=16*1024])
# 注意!fsrc, fdst都是文件对象,需要打开后才能进行复制
import shutil
f1 = open('name', 'r')
f2 = open('name_copy', 'w+')
shutil.copyfileobj(f1, f2, length=16*1024)
2.copyfileobj文件复制需要用open函数打开文件;copyfile不需要。
shutil.copyfile(src, dst)
# 一句话实现复制文件内容
shutil.copyfile('name', 'name_copy_2')
3.仅copy权限,不更改文件内容、组和用户。
shutil.copymode(src, dst)
# test1,test2文件存在,执行copymode不会出错
>>> import shutil
>>> shutil.copymode('test1', 'test2')
# 目标文件不存在时会报错,此处test3文件不存在
>>> shutil.copymode('test1', 'test3')
Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/local/python/lib/python3.4/shutil.py", line 132, in copymode chmod_func(dst, stat.S_IMODE(st.st_mode))FileNotFoundError: [Errno 2] No such file or directory: 'test233'4.复制所有的状态信息,包括权限,组,用户,时间等。
shutil.copystat(src,dst)
5.复制文件的内容以及权限,先copyfile后copymode。
shutil.copy(src,dst)
6.复制文件的内容以及文件的所有状态信息。先copyfile后copystat。
shutil.copy2(src,dst)
7.递归的复制文件内容及状态信息。
shutil.copytree(src, dst, symlinks=False, ignore=None, copy_function=copy2,ignore_dangling_symlinks=False)
8.递归地删除文件。
shutil.rmtree(path, ignore_errors=False, onerror=None)
9.递归的移动文件。
shutil.move(src, dst)
10.压缩打包。
make_archive(base_name, format, root_dir=None, base_dir=None, verbose=0,dry_run=0, owner=None, group=None, logger=None)
python中shutil模块的更多相关文章
- 三十四、python中shutil模块的介绍
'''A.shutil:高级的文件 文件夹 压缩包 处理模块''' import shutil '''1.copyfileobj(a1,a2,lenth):将文件内容拷贝到另一个文件中''' shut ...
- python中shutil模块的使用
可以操作权限的处理文件模块:shutil # 基于路径的文件复制 import shutil shutil.copyfile("oldfile_path","newfil ...
- python 历险记(五)— python 中的模块
目录 前言 基础 模块化程序设计 模块化有哪些好处? 什么是 python 中的模块? 引入模块有几种方式? 模块的查找顺序 模块中包含执行语句的情况 用 dir() 函数来窥探模块 python 的 ...
- python中os模块中文帮助
python中os模块中文帮助 python中os模块中文帮助文档文章分类:Python编程 python中os模块中文帮助文档 翻译者:butalnd 翻译于2010.1.7——2010.1.8 ...
- Python中optionParser模块的使用方法[转]
本文以实例形式较为详尽的讲述了Python中optionParser模块的使用方法,对于深入学习Python有很好的借鉴价值.分享给大家供大家参考之用.具体分析如下: 一般来说,Python中有两个内 ...
- python中threading模块详解(一)
python中threading模块详解(一) 来源 http://blog.chinaunix.net/uid-27571599-id-3484048.html threading提供了一个比thr ...
- 【转】关于python中re模块split方法的使用
注:最近在研究文本处理,需要用到正则切割文本,所以收索到了这篇文章,很有用,谢谢原作者. 原址:http://blog.sciencenet.cn/blog-314114-775285.html 关于 ...
- Python中的模块介绍和使用
在Python中有一个概念叫做模块(module),这个和C语言中的头文件以及Java中的包很类似,比如在Python中要调用sqrt函数,必须用import关键字引入math这个模块,下面就来了解一 ...
- python中导入模块的本质, 无法导入手写模块的解决办法
最近身边一些朋友发生在项目当中编写自己模块,导入的时候无法导入的问题. 下面我来分享一下关于python中导入模块的一些基本知识. 1 导入模块时寻找路径 在每一个运行的python程序当中,都维护了 ...
随机推荐
- scrapy_novel_python
# _*_ coding:UTF _8_ from bs4 import BeautifulSoup import requests,sys class downloader(object): def ...
- ubuntu数据库安装配置
感谢原作者 http://www.linuxidc.com/Linux/2016-12/138081.htm
- Struts2 的 配置
三.Struts2配置 Struts2的核心配置文件 1.名称和位置是固定的 在src下struts.xml 2.Struts根标签 Package Action Result Action Pa ...
- SpringMybatis 整合JavaWeb
需要用到新的jar包 <dependency> <groupId>org.springframework</groupId> <artifactId>s ...
- MySQL5.7 开启SSL
MySQL5.7配置SSL加密的方式比较简单. 生成证书文件 [root@ ~]# bin/mysql_ssl_rsa_setup --datadir=/data/database/mysql [ro ...
- linux 安装 ImageMagick 和 imagick 扩展
使用命令安装 1.依次运行以下命令 yum install ImageMagick yum install ImageMagick-devel yum install php-pear 安装php-p ...
- Golang面向对象_继承
package main import "fmt" type Person struct { name string //名字 sex byte //性别 age int //年龄 ...
- Linux - TCP编程相关配置1
100万并发连接服务器笔记之1M并发连接目标达成 第四个遇到的问题:tcp_mem 在服务端,连接达到一定数量,诸如50W时,有些隐藏很深的问题,就不断的抛出来. 通过查看dmesg命令查看,发现大量 ...
- Markdown语法学习(Github/git.oschina.net上README.md书写规范)(转)
晚上在更新git.oschina.net项目时,突然想知道README.md后缀的来源,于是搜了下,发现README.md使用了一种小标记语言Markdown的语法,于是简单的看了一个,特转载如下,为 ...
- DataSnap下的分包获取
DataSnap下通过TQuery—TDataSetProvider—TClientDataSet获取数据,如果是主从数据,则每条主表记录都会触发从表数据的获取. 这种获取和组织数据的方式有一个问题: ...