python3中对文件操作的详解

迷茫
发布: 2017-03-25 11:03:04
原创
1903 人浏览过

步骤:打开文件-》操作文件-》关闭文件


 打开文件

文件句柄 = open('文件路径', '模式')
登录后复制

指定文件编码

文件句柄= open('文件路径','模式',encoding='utf-8')
登录后复制

为了防止忘记关闭文件,可以使用上下文管理器来打开文件

with open('文件路径','模式') as 文件句柄:
登录后复制

打开文件的模式有:

  • r,只读模式(默认)。

  • w,只写模式。【不可读;不存在则创建;存在则删除内容;】

  • a,追加模式。【可读; 不存在则创建;存在则只追加内容;】

  • r+,可读写文件。【可读;可写;可追加】

  • w+,写读

"U"表示在读取时,可以将 \r \n \r\n自动转换成 \n (与 r 或 r+ 模式同使用)

  • rU

  • r+U

"b"表示处理二进制文件(如:FTP发送上传ISO镜像文件,linux可忽略,windows处理二进制文件时需标注)

  • rb

  • wb

  • ab


关闭文件

文件句柄.close()
登录后复制

操作文件:

detach

#占位
登录后复制

fileno(返回文件描述符,用于底层操作系统的 I/O 操作)

fid = 文件句柄.fileno()print(fid)
登录后复制

flush(刷新缓冲区,将缓冲区中的数据立刻写入文件)

文件句柄.flush()
登录后复制

isatty(判断文件是否连接到一个终端设备,返回布尔值)

文件句柄.isatty()
登录后复制

read(从文件中读取指定的字符数,默认读取全部)

str = 文件句柄.read()      #读取整个文件
str1 = 文件句柄.read(10)   #读取文件前10个字符
登录后复制

readable(判断文件是否可读,返回布尔值)

文件句柄.readable()
登录后复制

readline(每次最多读取一行数据,每行的最后包含换行符'\n')

print(文件句柄.readline())   #读取第一行数据print(文件句柄.readline(3))  #读取第二行前3个字符print(文件句柄.readline())   
#读取第二行剩余字符print(文件句柄.readline())   #读取第三行
登录后复制

seek(移动文件读取的指针,如果文件中包含中文,移动指针必须是3的倍数,不然会报错,因为一个中文字符等于3个字节)

文件句柄.seek(6)
登录后复制

seekable(判断文件指针是否可用,返回布尔值)

文件句柄.seekable()
登录后复制

tell(获取指针位置)

文件句柄.tell()
登录后复制

truncate(截断,把指针后面的内容删除,并写入文件,要在可写模式下操作)

f = open('text.txt','r+',encoding='utf-8')
f.seek(9)   #把指针移动到第9个字节后面(即第3个中文后面)f.truncate()  #把第3个中文后面的字符删除,并写入文件f.close()
登录后复制

writable(判断文件是否可写,返回布尔值)

文件句柄.writable()
登录后复制

write(把字符串写入文件,并返回字符数)

文件句柄.write('字符串')
登录后复制

以上是python3中对文件操作的详解的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板