Python:读写文件

2019年1月20日寒假大数据师资培训班

【版权声明】博客内容由厦门大学数据库实验室拥有版权,未经允许,请勿转载!版权所有,侵权必究!
[返回Python教程首页]

读写文件

内置函数open()可实现读文件功能,并返回一个file对象,随后便可对其进行相关操作。语法格式为:open(filename, mode)。filename是文件名称,mode是打开文件的模式(可选),如只读、写入、追加等等,如果省略第二个参数mode则默认为只读方式打开文件。

Python读写文件最常用的打开模式有以下几种:
r: 只读方式,默认模式
w:写入方式,若已存在该文件则覆盖,若不存在则创建
a:追加方式,若已存在该文件则追加,若不存在则创建
r+:读写方式,若已存在该文件则从文件头开始覆盖
w+:读写方式,若已存在该文件则覆盖,若不存在则创建
a+:读写方式,若已存在该文件则追加,若不存在则创建

file对象实现了多个方法实现文件操作,最常用的包括如下:
file.read():读文件
file.write():写文件
file.close():关闭文件,释放系统资源

读文件

>>> f = open("./readme.txt","r")
>>> str = f.read()  #read可以传入参数来读取文件指定字节的内容,不加参数默认读取所有内容
>>> print(str)  
hello world hello python!
I love python!

#因为前面已经读取完毕,指针指向文件尾部,利用readline继续往下读,将返回空
>>> strline = f.readline() 
>>> print(strline)

>>> f.close()
#这里必须重新只读模式打开readme.txt文件
>>> f = open("./readme.txt","r"),
>>> strline = f.readline()
>>> print(strline)
hello world hello python!

>>> f.close()
>>> strline = f.readline()  #对象f已经关闭了,无法再进行相关的读写操作
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: I/O operation on closed file.

写文件

>>> f = open("./readme.txt","w")  #以写入方式打开文件,不存在就创建
>>> f.write("hello world hello python!\nI love python!\n")  #往文件readme.txt中写入文本
41
>>> f.close()  #关闭打开的文件
>>> exit()   #退出python shell模式

执行完上述语句后,利用命令ls查看文件系统,发现新增了readme.txt文件,并利用cat readme.txt来查看文件内容。截图如下: