Python中文件和路径的操作总结

文件操作

我们提供的服务有:成都做网站、成都网站设计、微信公众号开发、网站优化、网站认证、谢家集ssl等。为1000多家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的谢家集网站制作公司

文件IO常用操作

open          打开操作

read          读取操作

write         写入操作

close         关闭操作

readline      行读取操作

readlines     多行读取操作

seek          文件指针操作

tell   指针位置

文件访问有两种模式,文本模式和二进制模式,不同模式下,操作函数不尽相同,表现的结果也不一样。文件操作做常用的就是读和写。

文件打开操作:

open (file ,mode='r',buffering=-1,encoding=None,errors=None,newline=None,closefd=True,opener=None) 作用:打开一个文件,返回一个文件对象流和文件描述符

file  打开或者要创建的文件名,如果不指定路径,默认是当前路径

mode模式:

r 缺省的,表示只读打开 ,如果使用write方法,会抛出异常,如果文件不存在,抛出FileNotFountError异常

w 只写打开,如果读取则抛出异常,如果文件不存在,则直接创建文件,如果文件存在,则清空文件内容

x 创建并写入一个新文件,文件不存在,创建文件,并只写方式打开,如果文件存在,则抛出FileExistsError异常

a 写入打开,如果文件存在,则追加

b 二进制模式 

t 缺省的,文本模式

+ 读写打开一个文件。给原来只读,只写方式提过缺省的读或着写能力

文件指针

文件指针,指向当前字节位置

mode = r ,指针起始在0 mode =a ,指针起始在EOF

tell()显示指针当前位置

seek(offset[,whence])移动文件指针位置,offest偏移多少字节,whence从哪里开始。

文本模式下whence 0 缺省值,表示从头开始,offest只能正整数 。whence 1 表示从当前位置,offest只接受0 ,whence 2表示从EOF开始,offest只接受0

二进制模式下whence 0 缺省值,表示从头开始,offest只能正整数。 whence 1 表示从当前位置,offest可正可负 ,whence 2表示从EOF开始,offest可正可负

buffering              说明

buffering = -1          t和b,都是io.DEFAULT_BUFFER_SIZE

buffering = 0 b关闭缓冲区   t不支持

buffering = 1 b就一个字节   t行缓冲,遇到黄行符才flush

buffering > 1           b模式表示缓冲区大大小。缓存区的可以超过io.DEFAULT_BUFFER_SIZE,直到设定的值超出后才吧缓冲区flush

t模式,是io.DEFAULT_BUFFER_SIZE字节,flush完后把当前字符串也写入磁盘

encoding:编码,仅在文本模式使用 None表示使用缺省编码,依赖操作系统

errors 什么样的编码错误将被捕获None和strict表示有编码错误将抛出ValueError异常,ignore表示忽略

newline 文本模式中,换行转换,可以为None、‘空串’,‘\n’,'\r\n','\r'

closefd 关闭文件描述符,Ture表示关闭他,False会在文件关闭后保持这个描述符。

文件的读、写、关闭操作

read(size=-1) size表示读取的字符或者字节。负数或者None表示读到EOF

readline(size=-1) 一行行的读取

readlines(dize=-1)  读取指定的行数

write(s) 把字符串S写入到文件中并返回字符的个数

writelines(s)  价格字符串列表写入文件。

close

flush 关闭文件对象,再次关闭没有任何效果

文件的上下文管理

上下文管理:

语法:

1:使用with....as关键字

2:上下文管理的语句块并不会开启新的作用域

3:with语句块执行完的时候,会自动关闭文件对象

with语句的写法:

with open(路径名) as f:

f.write(‘字符串’)

file = pen(路径名)

with file:

f.write(‘字符串’)

文件的路径操作之pathlib模块

导入pathlib模块

初始化:

P = Path

目录操作

路径的拼接和分解

操作符/

P /字符串 或者   字符串/P

分解

parts属性可以返回路径中的每一部分

joinpath

join path(*other)连接多个字符串到Path对象中

获取路径

str 获取路径字符串

bytes 获取路径字符串bytes

父目录

parent目录的逻辑父目录

parents 父目录序列,索引0是直接的父

目录组成部分

name  目录的最后一个部分

suffix 目录中最后一个部分的扩展名

stem  目录最后一个部分,没有后缀

suffixes 返回多个扩展名列表

with_suffixes(suffix) 有扩展名则替换,无则补充扩展名

with_name(name)替换目录最后一个部分并返回一个新的路径

全局方法

cwd()  返回当前工作目录

home()  返回当前家目录

方法

is_dir()             是否是目录,存在返回True

is_file()            是否是普通文件,文件存在返回Ture

is_symlink()         是否是软连接

is_socket            是否是socket

is_block_device()    是否是块设备

is_char_device() 是否是字符设备

id_absolute()        是否是绝对路径

resolve()            返回一个新的路径

absolute()           获取绝对路径

exists()             目录或者文件是否存在

rmdir()               删除空目录,没有提供判断目录为空的方法

touch(mode=0o666,exist_ok=Ture)   创建一个文件

as_uri()将路径返回成URL,例如‘file:///etc/passwd’

mkdir(mode=0O777,parents=False,exist_ok=False)

parents,是否创建符目录,True等同于mkdir-p;Flase时,父目录不存在,则抛出FileNotFoundError

exist_ok参数,在3.5版本加入。False时,路径存在,抛出FileExistsError;Ture时,FileExitsError被忽略

itemdir() 迭代当前目录

通配符:

glob(pattern)通配给定的模式

rglob(pattern)通配给定的模式,递归目录

都返回一个生成器

配置

match(pattern)

模式匹配,成功返回Ture

stat()相当于stat命令

lstat同stat(),但如果时符号链接,则显示符号链接本身的文件信息


当前文章:Python中文件和路径的操作总结
文章分享:http://hbruida.cn/article/pssiic.html