【学习笔记】使用Python对文件进行简单操作
来源:互联网 发布:顶点网络代理 编辑:程序博客网 时间:2024/05/21 06:41
文件处理中常用的Python代码1
本文内容来自互联网,代码参考Python手册。
一、删除整个目录树
函数:shutil.rmtree(path[, ignore_errors[, onerror]])
该函数删除一个完整的目录树,path必须指向一个目录。如果ignore_errors为True,移除失败的error会被忽略。否则,该error将会被onerror处理。
onerror(funciton, path, excinfo)
onerror是一个可调用的函数。function是产生异常的函数,可以是os.path.islink(), os.listdir(), os.remove()或os.rmdir()。path是传递到function的路径名。excinfo是由sys.exc_info()返回的异常信息。
程序实例
import os, shutil, statdirs = [d for d in os.listdir('.') if os.path.isfile(d)]for d in dirs: print(str(d))files = [f for f in os.listdir('.') if os.path.isfile(f)]for f in files: print(str(f))
该段程序列出当前目录下所有文件夹和文件名。
def on_rm_error(func, path, exc_info): os.chmod(path, stat.S_IWRITE) os.unlink(path)shutil.rmtree('dirname', onerror = on_rm_error)
该段程序定义了onerror函数,运行了shutil.rmtree,dirname为需要删除的文件夹名,如此处输入为文件名,同样能被删除,但是会产生OSError。
相关函数
- os.listdir
- os.path.isfile
- os.path.isdir
- os.chmod
- os.unlink
详解
os.listdir(path)
该函数返回一个存有该路径下条目名称的list,list按任意顺序存储。
os.path.isfile(path)
若该路径为现有的文件,则返回True。
os.path.isdir(path)
若该路径为现有的目录,则返回True。
os.chmod(path, mode)
该函数改变该路径的读写模式,如参数为stat.S_IWRITE时,可授予只读路径写权限。
os.unlink(path)
该函数等同于os.remove,用来移除(删除)一个文件路径,如果该路径是一个文件夹,OSError异常会被触发。
二、解压缩tar.gz文件并获取文件夹名
步骤 1:获取压缩文件名
函数:os.path.splitext(path)
该函数分离路径名为一对(root, ext),ext为空或仅包含一个句点 ‘.’的后缀名。如path为”file.tar.gz”,为获取file名,代码如下:
import osfilename = "file.tar.gz"root = os.path.splitext(os.path.splitext(filename)[0])[0]
步骤 2:解压缩文件夹
tarfile函数
使用tarfile解压tar.gz格式的压缩文件,具体代码如下所示:
import tarfiletar = tarfile.open(filename)tar.extractall()tar.close()
步骤 3:获取解压后文件夹下的目录路径
函数:os.path.join(path, *paths)
该函数连接一个或多个path成分,返回串联的path。代码示例如下:
folders = [os.path.join(root, dir) for dir in sorted(os.listdir(root)) if os.path.isdir(os.path.join(root, dir))]
该段代码获取root路径下的所有条目名称的list,与root连接,并将所有属于directory的新path存入folders,即可得到root路径下的所有文件夹名。
- 【学习笔记】使用Python对文件进行简单操作
- Python简单对文件进行读写操作
- Linux之ubuntu学习笔记(三):对文件和文件夹进行简单的操作
- Python学习笔记3:简单文件操作
- Python学习笔记之简单文件操作
- 3.python学习笔记:python对文件的操作
- 《零基础入门学习Python》学习过程笔记【31pickle对文件中的数据进行提取等操作】(没看)
- python对excel文件的操作学习笔记
- python学习笔记9(对文件的操作)
- [Perl]对 EXCEL 文件进行简单操作
- python对文件进行读写操作
- python对文件进行读写操作
- python对文件进行读写操作
- python对文件进行读写操作
- python对文件进行读写操作
- python对文件进行读写操作
- python对excel文件进行操作
- 简单使用dom4j对xml文件进行输出操作(如何使用dom4j对xml文件进行输出)
- ubuntu 16.04 apt-get update无法更新
- uva 11374 Dijkstra
- PL/SQL Developer导入导出数据库的方法以及说明
- ubuntu16.04无法安装第三方软件解决方法 、
- geoip PHP版本
- 【学习笔记】使用Python对文件进行简单操作
- 使用powerdesigner16反编译Oracle数据库的问题处理
- matlab 产生随机数的方法
- lesson1 计算机科学篇之CPU与二进制
- 写作的力道——北漂18年(番外篇一)
- Gradle安装与简单使用
- 继承、封装
- Enable ADB integration' to be enabled.
- Struts2的深入理解与使用(一)