Python shutil模块(目录和文件操作)
import shutil #导入shutil模块
copyfileobj方法
将类文件对象fsrc的内容复制到类文件对象fdst
shutil.copyfileobj(fsrc, fdst[, length])
我一般的用法:
shutil.copyfileobj(open('file','r'),open('file','w'))
注:如果fsrc对象的当前文件位置不为0,那么将只复制从当前文件位置到文件末尾的内容
copyfile方法
将名为src的文件的内容复制到名为dst的文件中,并返回dst。src和dst是作为字符串给出的路径名
shutil.copyfile(src,dst,*,follow_symlinks=True)
目标位置必须是可写的。否则将引发OSError异常。如果dst已存在,它将被替换。
如果follow_symlinks为false,并且src是一个符号链接,那么将创建一个新的符号链接,而不是复制文件src指向(这是python文档里直接有道翻译出来的,我也没看懂是啥意思。学的还是太浅了········)
copymode方法
拷贝权限,文件内容、所有者和组不受影响。
shutil.copymode(src,dst,*,follow_symlinks=True)
src和dst是作为字符串给出的路径名
copystat方法
将权限位、最后访问时间、最后修改时间和标记从src复制到dst
shutil.copystat(src,dst,*,follow_symlinks=True)
copy方法
将文件src复制到文件或目录dst
shutil.copy(src,dst,*,follow_symlinks=True)
src和dst都是字符串,一般用法如下:
shutil.copy(r'要复制的文件路径(路径+文件)',r'复制到的路径')
注:要复制到的路径是存在的才行,不存在该路径会报错。
copy2方法
与copy()方法相同,只是copy2()还试图保存所有文件元数据。
shutil.copy2(src, dst, *, follow_symlinks=True)
copytree方法
递归的复制文件,该方法可以理解为复制电脑上某个文件夹以及文件夹内的东西到另一个文件夹
shutil.copytree(src,dst,ignore=None)
其中dst的路径的最后一级必须是不存在的。如:D:\tools 这里的tools这个文件夹必须是不存在的。由python创建。
这里的ignore参数需要结合下列方式
shutil.ignore_patterns(*patterns)
我的理解就是需要忽视的文件的模式。用法如下:
shutil.copytree(src,dst,ignore=ignore_patterns('*.py'))
这里的意思就是把 src目录下的文件都复制到 dst 目录下但是忽略掉 .py 文件。
注:这里要先定义一个需要忽略的文件的模式
如:
a=shutil.ignore_patterns('*.py')
shutil.copytree(src,dst,ignore=a)
rmtree方法
shutil.rmtree(path)
递归的形式删除 path 目录,以及目录下的所有文件
move方法
shutil.move(src,dst)
递归的形式移动 src 到 dst
如果dst是个现有的目录 python 会将src移动到dst内 ,dst如果是个不存在的目录 会调用os.ename 来改名字移动到目标位置。(应该是吧。我用的时候这个老报错,移动是移动过去了,结果原文件还在,也是很奇怪。)
正在学习中······,学到新的东西会来修改或更新。
Python shutil模块(目录和文件操作)的更多相关文章
- python shutil 模块 的剪切文件函数 shutil.movemove(src, dst),换用 os.rename(sourceFile, targetFile)
Google 一搜python 剪切文件,出来shutil 这模块,网上很多人也跟疯说shutil.move(src, dst)就是用来剪切文件的,结果一试,剪切毛线,文件都复制到另一个文件夹了,源文 ...
- [Python] 目录和文件操作
在Linux系统下用Python写脚本,肯定不能避免各种与目录和文件夹有关的操作.为了以后方便查阅,简单地针对Python中与目录和文件夹有关的操作进行汇总. 需要实现导入的模块为: import o ...
- python目录和文件操作
一.python中对文件.文件夹操作时经常用到的os模块和shutil模块常用方法. 要操作目录,必须引入os模块 import os1.得到当前工作目录,即当前Python脚本工作的目录路径: os ...
- python shutil模块简单介绍
python shutil模块简单介绍 简介 shutil模块提供了大量的文件的高级操作.特别针对文件拷贝和删除,主要功能为目录和文件操作以及压缩操作. shutil 模块方法: copy(src, ...
- (Python )格式化输出、文件操作、json
本节学习Python的格式化输出,文件操作以及json的简单用法 1.格式化输出 将非字符串类型转换成字符串,可以使用函数:str() 或者repr() ,(这两个函数的区别目前我还没搞懂,求解答) ...
- 11 python shutil 模块
shutil 模块 高级的 文件.文件夹.压缩包 处理模块 1.将文件内容拷贝到另一个文件中 import shutil f1 = open('os_模块.py','r',encoding='ut ...
- Linux 目录和文件操作
Linux常用命令--目录和文件操作 [目录]删除.复制.移动 : 1.删除文件夹用:rmdir 文件夹名 但是rmdir不能删除非空的文件夹,那如何删除非空文件夹呢: 2.通常情况下,删除文件用:r ...
- Python os模块--路径、文件、系统命令等操作
os模块包含普遍的操作系统功能. 注意:函数参数path是文件或目录的路径,filename是文件的路径,dirname是目录的路径,路径可以是相对路径,也可绝对路径 常见或重要的函数为加粗字体 os ...
- [python]目录及文件操作
Python OS模块和shutil模块 获取路径 # 获取当前路径 pwd = os.getcwd() # 获取上级路径 a_pwd = os.path.abspath(os.path.dirnam ...
随机推荐
- 2018.10.14 loj#516. DP 一般看规律(启发式合并)
传送门 注意到一种颜色改了之后就不能改回去了. 因此可以启发式合并. 每次把小的合并给大的. 这样每个数最多被合并logloglog次. 如果维护一棵比较下标的平衡树的话,对于答案有贡献的就是每个数与 ...
- git将本地仓库强制替换掉远程仓库
$ git remote add origin <url> $ git push --force --set-upstream origin master
- UVa 1572 Self-Assembly (构造+拓扑排序。。。。。)
题意:给定n个带标号的正方形,标号要么是一个大写字母加一个+或-,要么是00, 当且仅当大写字母相同并且符号相反时可以连接,问你给定的能不能拼成一个无限大的的东西. 析:说实话,真心没有看出来是拓扑排 ...
- CentOS7下安装配置Nginx
一:安装依赖项 1.pcre:2.openssl:3.zlib:4.gcc:可直接通过yum安装 二:创建nginx账户(可以配置nginx.conf的user为此账户) useradd nginx ...
- CentOS中的一些小技巧和特殊知识
一:软件: firefox 1.在tab栏右键可以打开上一次关闭的标签. 2.在上面的搜索栏可以添加搜索引擎,这样就不需要再打开标签页访问搜索引擎主页来搜索了. 3.获取firefox下载弹框的资源U ...
- modelsim仿真基本流程
好久没再用过modelsim,都忘的一干二净了.刚换了份工作,又要重新拾起来,不过现在感觉modelsim的仿真其实是比较快的,很有用处.再者这么长时间老是学了忘,忘了再学,觉得真浪费时间,平时确实应 ...
- 20155218 2016-2017-2 《Java程序设计》第10周学习总结
20155218 2016-2017-2 <Java程序设计>第10周学习总结 教材学习内容总结 一个IP地址可以对应多个域名,一个域名只能对应一个IP地址. 在网络通讯中,第一次主动发起 ...
- ios判断设备是iphone还是ipad
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launc ...
- 第二届普适计算和信号处理及应用国际会议论文2016年 The 2nd Conference on Pervasive Computing, Signal Processing and Applications(PCSPA, 2016)
A New Method for Mutual Coupling Correction of Array Output Signal 一种阵列输出信号互耦校正的新方法 Research of Robu ...
- hibernate从浅至深
hibernate在开发中的位置 web------>struts2--------->hibernate ORM框架 Hibernate是一个数据持久化层的ORM框架. Object:对 ...