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

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

打开文件:

 f=open('test.txt',mode='r',encoding='utf-8') 

参数1  文件名,若非当前路径,需指出具体路径

参数2   mode:   文件打开模式

r    只读模式【默认模式,文件必须存在,不存在则抛出异常】,文件指针放在文件开头

w,只写模式【不可读;不存在则创建;存在则清空内容】

x, 只写模式【不可读;不存在则创建,存在则报错】
a, 追加模式【可读; 不存在则创建;存在则只追加内容】,文件指针自动移到文件尾

"+" 表示可以同时读写某个文件
r+, 读写【可读,可写】,文件指针放在文件开头,文件存在不清空,逐步覆盖旧内容
w+,写读【可读,可写】,消除文件内容,然后以读写方式打开文件。
x+ ,写读【可读,可写】
a+, 写读【可读,可写】,以读写方式打开文件,并把文件指针移到文件尾

"b"表示以字节的方式操作,以二进制模式打开文件,而不是以文本模式。
rb 或 r+b
wb 或 w+b
要是写入文本 x=f.write('物理教师'.encode('utf-8'))
xb 或 w+b
ab 或 a+b
注:以b方式打开时,读取到的内容是字节类型,写入时也需要提供字节类型,不能指定编码

 

 读取文件:

s=f.read()     读取文件的全部内容

c=f.read(3) 从当前位置开始读取的最大字符数

  如果是二进制 可能是字节数
readline() 每次读取文件的一行,包括回车换行符,自动移动指针
  返回值是''表示文件尾

readlines()    #读取文件的所有行,返回一个字符串列表

  ['我是中国人我的籍贯在浙江\n', '我是物理教师\n', '我喜欢学习python']

 

 文件的关闭:

f.close()

 

文件的写入:

x=f.write('物理教师')   

参数  要写入的内容

返回值  写入的字符数

自动移动指针

特别注意:是覆盖不是插入

返回的是写入的字符长度

f.writelines(['李明','李秀艳','李雪倩'])     写入一序列的字符串.这一序列字符串可以是由迭代对象产生的,如一个字符串列表。

换行需要制定换行符 \n。

 

 f.flush()  #清空缓存,把缓存的内容写入磁盘文件,自动移动文件指针

 

 

文件的定位-指针:

 

f.seek(0)     移动指针

参数1  偏移量,单位是字节,不是字符

参数2   可选,默认值为 0。表示要从哪个位置开始偏移;0代表从文件开头开始算起,1代表从当前位置开始算起,2代表从文件末尾算起

文本文件只能是0;二进制文件能1能2

 

c=f.tell()   返回指针当前的位置

 

文件遍历:

 

f=open('test.txt',mode='r+',encoding='utf-8')for s in f:   #按行拆解    print(s,end='')f.close()

 

最佳处理格式

with open('d:/ss/test.txt',mode='r+',encoding='utf-8') as f:

f.read()

print(c)

自动关闭

  

 

f.truncate(2)   删除指定字节后面的内容

从文件的首位置开始

参数 要保留的字节数

没有返回值

c=f.readable()    判断文件是否可读

可读  返回true

我理解的是readable只要文件不是EOF 就是可读的只不过有可能读不出内容了

c=f.writable()    判断文件是否可写

f.name    返回文件的路径       d:/ss/test.txt

 

 

天子骄龙

转载于:https://www.cnblogs.com/liming19680104/p/10706937.html

你可能感兴趣的文章
C++ 面向对象 类成员函数this指针
查看>>
inline函数的总结
查看>>
【Jquery】$.Deferred 对象
查看>>
Python字符编码
查看>>
leetcode 49. 字母异位词分组(Group Anagrams)
查看>>
NSPredicate的使用,超级强大
查看>>
自动分割mp3等音频视频文件的脚本
查看>>
财务结算的目的和一般流程
查看>>
判断字符串是否为空的注意事项
查看>>
布兰诗歌
查看>>
老李分享:5个衡量软件质量的标准
查看>>
Xcode部分插件无法使用识别的问题
查看>>
set学习记录
查看>>
用函数写注册功能
查看>>
JVM笔记4:Java内存分配策略
查看>>
IE8 window.open 不支持此接口 的问题解决
查看>>
Django -- 发送HTML格式的邮件
查看>>
最近面试问题汇总
查看>>
ORM版学员管理系统3
查看>>
修改安卓虚拟机系统镜像
查看>>