博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python的文件操作
阅读量:5072 次
发布时间:2019-06-12

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

一、文件操作常见的模式

  ①:r模式

file=open('docx.txt',mode='r',encoding='utf-8')print(file.read())  # 人生苦短,我用Pythonfile.close()

  ②:w模式

file=open('docx.txt',mode='w',encoding='utf-8')  #如果写入的文件不存在,那么会自动创建文件file.write('人生苦短,我用Python')file.close()

  ③:rb模式

file=open('docx.txt',mode='rb')print(file.read())  # 人b'\xe4\xba\xba\xe7\x94\x9f\xe8\x8b\xa6\xe7\x9f\xad\xef\xbc\x8c\xe6\x88\x91\xe7\x94\xa8Python'file.close()

  ④:wb模式

file=open('docx.txt',mode='wb')file.write('人生苦短,我用Python'.encode('utf-8'))file.close()

  ⑤:r+模式

①:先读后写 file=open('docx.txt',mode='r+',encoding='utf-8')print(file.read())  #人生苦短,我用Pythonfile.write('打发时间')print(file.read()) #写完之后,光标移动至行尾,读到的是空白的文件file.close() ②:先写后读:
file=open('docx.txt',mode='r+',encoding='utf-8')file.write('Python')print(file.read()) #苦短,我用Python   Python占六个字节,将会替换 “人生”,然后光标移至python后,读取来 ‘苦短,我用Python’file.close()

  ⑥:w+模式 无论是先写后读,还是先读后写,都会进行文件的覆盖

①:先写后读 file=open('docx.txt',mode='w+',encoding='utf-8')file.write('Python')print(file.read()) #Pythonfile.close() ②:先读后写
file=open('docx.txt',mode='w+',encoding='utf-8')print(file.read())file.write('Python')print(file.read())file.close()

 二、文件操作seek(),tell(),truncate()方法

  ①:seek()方法

    seek(offset,whence=0)   移动文件读取指针到制定位置

    offset:开始的偏移量,也就是代表需要移动偏移的字节数。

    whence: 给offset参数一个定义,表示要从哪个位置开始偏移;0代表从文件开头算起,1代表开始从当前位置开始算起,2代表从文件末尾开始算起。当有换行时,会被换行截断。

file=open('docx.txt',mode='r',encoding='utf-8')file.seek(3)print(file.read()) #lo Python'''    docx.txt文件内容如下:    Hello Python'''

  ②:truncate(size):truncate用于在文件读取时截取文件,如果不设置参数,那么会默认从光标处截取到文件的末尾

            如果设置了参数,会截取指定大小的字符

file=open('docx.txt',mode='r+',encoding='utf-8')file.truncate(12)file.seek(0)print(file.read()) #Hello Python'''    docx.txt文件内容如下:        Hello Python        Hello Java'''

  ③:tell():告诉读取文件时光标所在的位置

file=open('docx.txt',mode='r',encoding='utf-8')file.seek(3)print(file.tell())

 

转载于:https://www.cnblogs.com/crazylover/p/9677433.html

你可能感兴趣的文章
scratch少儿编程第一季——06、人在江湖混,没有背景怎么行。
查看>>
C# Async与Await的使用
查看>>
Mysql性能调优
查看>>
iOS基础-UIKit框架-多控制器管理-实例:qq界面框架
查看>>
自定义tabbar(纯代码)
查看>>
小程序底部导航栏
查看>>
poj1611 简单并查集
查看>>
Ubuntu 14.04下安装CUDA8.0
查看>>
跨平台开发 -- C# 使用 C/C++ 生成的动态链接库
查看>>
C# BS消息推送 SignalR介绍(一)
查看>>
WPF星空效果
查看>>
WPF Layout 系统概述——Arrange
查看>>
PIGOSS
查看>>
几款Http小服务器
查看>>
css3动画属性
查看>>
Mongodb 基本命令
查看>>
控制文件的备份与恢复
查看>>
软件目录结构规范
查看>>
mysqladmin
查看>>
解决 No Entity Framework provider found for the ADO.NET provider
查看>>