Python中文件和路径的操作总结-创新互联

文件操作

目前创新互联公司已为上千的企业提供了网站建设、域名、虚拟主机成都网站托管、企业网站设计、平安网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

文件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(),但如果时符号链接,则显示符号链接本身的文件信息

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


新闻标题:Python中文件和路径的操作总结-创新互联
标题链接:http://myzitong.com/article/ddojed.html