博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python中shutil模块
阅读量:6795 次
发布时间:2019-06-26

本文共 1399 字,大约阅读时间需要 4 分钟。

shutil是对OS中文件操作的补充:移动、复制、打包、压缩、解压。

1.copy文件内容到另一个文件,可以copy指定大小的内容。

shutil.copyfileobj(fsrc, fdst[, length=16*1024])

 

# 注意!fsrc, fdst都是文件对象,需要打开后才能进行复制import shutilf1 = 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, οnerrοr=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)

 

转载于:https://www.cnblogs.com/keye/p/8315808.html

你可能感兴趣的文章
三、编译安装mysql-5.5.33
查看>>
商业模式画布--帮你建立最好的商业模式
查看>>
BGP路由协议Q&A
查看>>
bash_profile和bashrc区别
查看>>
KVM - 快照
查看>>
【mysql基础】02、数据库基础
查看>>
JTable 使用细讲
查看>>
我的友情链接
查看>>
51、组播Multicast简介
查看>>
CentOS 安装Oracle 11G 参数配置
查看>>
[PYTHON]简单的文件增删改查处理
查看>>
mysql导出数据结构+导出数据
查看>>
我的友情链接
查看>>
对于编程:要么热爱,要么离开
查看>>
Linux常用的命令
查看>>
lvm 动态扩容
查看>>
简单工厂模式、工厂模式、抽象工厂模式的对比与应用场景(代码举例)
查看>>
python操作Excel的几种方式
查看>>
0913作业(冒泡排序、二分查找法、模拟摇乐游戏)
查看>>
【数据结构队列的应用】用队列打印杨辉三角
查看>>