博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python进阶七_文件操作(三)
阅读量:4935 次
发布时间:2019-06-11

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

1.文件移动与复制操作(os,shutil)

我们先来看一看os与shutil中都有哪些实用的函数:

os.sep  可以取代操作系统特定的路径分隔符。windows下为 '\\'

os.name     字符串指示你正在使用的平台。比如对于Windows,它是'nt',而对于Linux/Unix用户,它是 'posix'

os.getcwd()      函数得到当前工作目录,即当前Python脚本工作的目录路径

os.getenv()       获取一个环境变量,如果没有返回none

os.putenv(key, value) 设置一个环境变量值

os.listdir(path) 返回指定目录下的所有文件和目录名

os.remove(path)   函数用来删除一个文件

os.system(command) 函数用来运行shell命令

os.linesep  字符串给出当前平台使用的行终止符。例如,Windows使用 '\r\n',Linux使用 '\n' 而Mac使用 '\r'

os.path.split(path)              函数返回一个路径的目录名和文件名

os.path.isfile() 和os.path.isdir()函数分别检验给出的路径是一个文件还是目录

os.path.exists()      函数用来检验给出的路径是否真地存在

os.curdir           返回当前目录 ('.')

os.mkdir(path)       创建一个目录

os.makedirs(path) 递归的创建目录

os.chdir(dirname) 改变工作目录到dirname         

os.path.getsize(name)       获得文件大小,如果name是目录返回0L

os.path.abspath(name)     获得绝对路径

os.path.normpath(path)   规范path字符串形式

os.path.splitext()          分离文件名与扩展名

os.path.join(path,name)   连接目录与文件名或目录

os.path.basename(path)  返回文件名

os.path.dirname(path)      返回文件路径

os.walk(top,topdown=True,οnerrοr=None)         遍历迭代目录

os.rename(src, dst)            重命名file或者directory src到dst 如果dst是一个存在的directory, 将抛出OSError. 在Unix, 如果dst在存且是一个file, 如果用户有权限的话,它将被安静的替换. 操作将会失败在某些Unix 中如果src和dst在不同的文件系统中. 如果成功, 这命名操作将会是一个原子操作 (这是POSIX 需要). 在 Windows上, 如果dst已经存在, 将抛出OSError,即使它是一个文件. 在unix,Windows中有效。

os.renames(old, new) 递归重命名文件夹或者文件。像rename()

 

shutil.copyfile( src, dst)     从源src复制到dst中去。当然前提是目标地址是具备可写权限。抛出的异常信息为IOException. 如果当前的dst已存在的话就会被覆盖掉

shutil.move( src, dst)         移动文件或重命名

shutil.copymode( src, dst)       只是会复制其权限其他的东西是不会被复制的

shutil.copystat( src, dst)    复制权限、最后访问时间、最后修改时间

shutil.copy( src, dst)           复制一个文件到一个文件或一个目录

shutil.copy2( src, dst)        在copy上的基础上再复制文件最后访问时间与修改时间也复制过来了,类似于cp –p的东西

shutil.copy2( src, dst)        如果两个位置的文件系统是一样的话相当于是rename操作,只是改名;如果是不在相同的文件系统的话就是做move操作

shutil.copytree( olddir, newdir,True/Flase)

把olddir拷贝一份newdir,如果第3个参数是True,则复制目录时将保持文件夹下的符号连接,如果第3个参数是False,则将在复制的目录下生成物理副本来替代符号连接

shutil.rmtree( src )       递归删除一个目录以及目录内的所有内容

下面我们来看一个典型的例子:

2.虚拟文件(StringIO)

当我们需要用到的很多模块都需要文件对象作为参数进行传递的时候,创建真实的文件往往会感觉到很繁琐,于是在python中就出现了”io”(python3),用来文件并且保存在内存中。

我们来看一个简单的例子:

3.文件压缩(zipfile)

经常地,我们为了传输方便,都会先将文件压缩打包,然后在传输,而zip格式又是很常见的一种压缩格式,那么在python中,我们我们如何压缩和解压缩呢?

           zipfile里有两个非常重要的class, 分别是ZipFile和ZipInfo, 在绝大多数的情况下,我们只需要使用这两个class就可以了。ZipFile是主要的类,用来创建和读取zip文件而ZipInfo是存储的zip文件的每个文件的信息。下面看一个例子:

转载于:https://www.cnblogs.com/ainima/p/6331118.html

你可能感兴趣的文章
MVC后台数据赋值给前端JS对象
查看>>
KMP模板,最小循环节
查看>>
CSS - 背景图片拉伸的方法
查看>>
一些想法
查看>>
html email的问题
查看>>
结队编程
查看>>
谈谈2014年草根站长的出路
查看>>
C# 获取网站的 IIS 站点名称 ,获取站点当前连接数
查看>>
解决WCF 调用方未由服务器进行身份验证或消息包含无效或过期的安全上下文令牌...
查看>>
Codeforces 582C. Superior Periodic Subarrays(数学+计数)
查看>>
linux系统下创建oracle表空间和用户权限查询
查看>>
ThinkPHP函数详解:M方法
查看>>
VBS基础篇 - VBScript过程
查看>>
SQL Pass北京举办第三次线下活动,欢迎报名
查看>>
[组合数]求组合数的几种方法总结
查看>>
JDBC基础
查看>>
微信小程序尝鲜一个月现状分析
查看>>
c# 用OpenXmL读取.xlsx格式的Excel文件 返回DataTable
查看>>
Java使用JAVE获取MP4播放时长
查看>>
java的简单入门,tomcat服务器
查看>>