上一篇:类属性案例讲解 | 手把手教你入门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
,并写⼊内容,运⾏效果显示如下:
注意:
如果⽂件不存在,那么创建;如果存在那么就先清空,然后写⼊数据
<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()