文件的读写 | 手把手教你入门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()

配套视频

相关文章
|
1天前
|
Python
Python从入门到精通:深入学习面向对象编程——2.1.2继承、封装和多态的概念
Python从入门到精通:深入学习面向对象编程——2.1.2继承、封装和多态的概念
|
1天前
|
存储 索引 Python
Python从入门到精通——1.3.1练习编写简单程序
Python从入门到精通——1.3.1练习编写简单程序
|
1天前
|
开发框架 前端开发 数据库
Python从入门到精通:3.3.2 深入学习Python库和框架:Web开发框架的探索与实践
Python从入门到精通:3.3.2 深入学习Python库和框架:Web开发框架的探索与实践
|
1天前
|
数据采集 数据可视化 数据处理
Python从入门到精通的文章3.3.1 深入学习Python库和框架:数据处理与可视化的利器
Python从入门到精通的文章3.3.1 深入学习Python库和框架:数据处理与可视化的利器
|
1天前
|
Java 数据库连接 数据处理
Python从入门到精通:3.1.2多线程与多进程编程
Python从入门到精通:3.1.2多线程与多进程编程
|
1天前
|
存储 网络协议 关系型数据库
Python从入门到精通:2.3.2数据库操作与网络编程——学习socket编程,实现简单的TCP/UDP通信
Python从入门到精通:2.3.2数据库操作与网络编程——学习socket编程,实现简单的TCP/UDP通信
|
6天前
|
存储 Python
用Python实现批量下载文件——代理ip排除万难
用Python实现批量下载文件——代理ip排除万难
|
7天前
|
机器学习/深度学习 数据可视化 数据挖掘
《Python 简易速速上手小册》第9章:数据科学和机器学习入门(2024 最新版)
《Python 简易速速上手小册》第9章:数据科学和机器学习入门(2024 最新版)
19 1
|
7天前
|
JSON 关系型数据库 数据库
《Python 简易速速上手小册》第6章:Python 文件和数据持久化(2024 最新版)
《Python 简易速速上手小册》第6章:Python 文件和数据持久化(2024 最新版)
33 0
|
Python
【Python初级】StringIO和BytesIO读写操作的小思考
from io import StringIO; f = StringIO(); f.write('Hello World'); s = f.readline(); print s; 上面这种方法“无论如何”都读不出f的内容,使用readlines和循环也不行。
1434 0

热门文章

最新文章