【学习笔记】使用Python对文件进行简单操作
2016-08-26 05:45
916 查看
文件处理中常用的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, stat dirs = [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.listdiros.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 os filename = "file.tar.gz" root = os.path.splitext(os.path.splitext(filename)[0])[0]
步骤 2:解压缩文件夹
tarfile函数
使用tarfile解压tar.gz格式的压缩文件,具体代码如下所示:import tarfile tar = 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学习笔记3-文件的简单操作
- Python学习笔记3-文件的简单操作
- Linux之ubuntu学习笔记(三):对文件和文件夹进行简单的操作
- Python学习笔记3-文件的简单操作
- Python学习笔记之简单文件操作
- [Python笔记] 使用xlrd和xlwt进行简单的excel表格读写操作
- Python学习笔记3:简单文件操作
- Python学习笔记3-文件的简单操作
- 8. Python脚本学习实战笔记八 使用XML-RPC进行文件共享
- Python学习笔记3:简单文件操作
- 使用 Python 进行稳定可靠的文件操作
- 使用 Python 进行稳定可靠的文件操作
- devi into python 笔记(五)异常 文件操作 sys os glob模块简单实用
- 树莓派学习笔记——使用文件IO操作GPIO SysFs方式
- 使用Python进行稳定可靠的文件操作详解
- Python学习笔记(2)比特操作、类、文件操作
- OpenCV学习笔记(8)VS2008 MFC下使用OpenCV2.0进行简单图像处理
- 使用Python进行稳定可靠的文件操作
- 使用 Python 进行稳定可靠的文件操作
- JPA学习笔记---JPA数据的操作:增加,删除,修改,获取,使用JPQL进行查询