文件的读写 | 手把手教你入门Python之七十-阿里云开发者社区

开发者社区> Python学习站> 正文

文件的读写 | 手把手教你入门Python之七十

简介: 使⽤write()可以完成向⽂件写⼊数据,使⽤read(num)可以从⽂件中读取数据,num表示要从⽂件中读取的数据的⻓度(单位是字节),如果没有传⼊num,那么就表示读取⽂件中所有的数据

上一篇:类属性案例讲解 | 手把手教你入门Python之六十九
下一篇:文件拷贝 | 手把手教你入门Python之七十一

本文来自于千锋教育在阿里云开发者社区学习中心上线课程《Python入门2020最新大课》,主讲人姜伟。

文件的读写

<1>写数据(write)

使⽤write()可以完成向⽂件写⼊数据
demo:新建⼀个⽂件 file_write_test.py ,向其中写⼊如下代码:

f = open('test.txt', 'w')
f.write('hello world, i am here!\n' * 5)
f.close()

运⾏之后会在 file_write_test.py ⽂件所在的路径中创建⼀个⽂件 test.txt ,并写⼊内容,运⾏效果显示如下:
image.png
注意:
如果⽂件不存在,那么创建;如果存在那么就先清空,然后写⼊数据

<2>读数据(read)

使⽤read(num)可以从⽂件中读取数据,num表示要从⽂件中读取的数据的⻓度(单位是字节),如果没有传⼊num,那么就表示读取⽂件中所有的数据

demo:新建⼀个⽂件 file_read_test.py ,向其中写⼊如下代码:

f = open('test.txt', 'r')
content = f.read(5) # 最多读取5个数据
print(content)

print("-"*30) # 分割线,⽤来测试

content = f.read() # 从上次读取的位置继续读取剩下的所有的数据
print(content)

f.close() # 关闭⽂件

运⾏现象:

hello
------------------------------
 world, i am here!

注意:
如果⽤open打开⽂件时,如果使⽤的"r",那么可以省略open('test.txt')

<3>读数据(readlines)

readline可以按照⾏的⽅式把整个⽂件中的内容进⾏⼀次性读取,并且返回的是⼀个列表,其中每⼀⾏为列表的⼀个元素。

f = open('test.txt', 'r')
content = f.readlines()
print(type(content))

for temp in content:
    print(temp)

f.close()

readline()读取一行数据

指针定位

tell() ⽅法⽤来显示当前指针的位置

f = open('test.txt')
print(f.read(10)) # read 指定读取的字节数
print(f.tell()) # tell()⽅法显示当前⽂件指针所在的⽂字
f.close()

seek(offset,whence) ⽅法⽤来重新设定指针的位置。

  • offset:表示偏移量
  • whence:只能传⼊012中的⼀个数字。
  • 0表示从⽂件头开始
  • 1表示从当前位置开始
  • 2 表示从⽂件的末尾开始
f = open('test.txt','rb') # 需要指定打开模式为rb,只读⼆进制模式

print(f.read(3))
print(f.tell())

f.seek(2,0) # 从⽂件的开头开始,跳过两个字节
print(f.read())

f.seek(1,1) # 从当前位置开始,跳过⼀个字节
print(f.read())

f.seek(-4,2) # 从⽂件末尾开始,往前跳过四个字节
print(f.read())

f.close()

配套视频

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
Python学习站
使用钉钉扫一扫加入圈子
+ 订阅

Python学习资料大全,包含Python编程学习、实战案例分享、开发者必知词条等内容。

官方博客
官网链接