Python对文本文件和二进制文件采用统一的操作步骤,“打开——操作——关闭”
1.打开文件
Python通过解释器内置函数open()函数来打开一个文件,并在程序中对其命名。打开格式如下:
<变量名> = open(<文件名>,<打开模式>)
其中文件名是文件的实际名字,也可以是包含完整路径的名字。
关于打开模式,见下表:
'r' | 只读模式,如果文件不存在,返回异常FileNotFoundError,该模式为默认值 |
'w' | 覆盖写模式,文件不存在则创建,存在则完全覆盖 |
'x' | 创建写模式,文件不存在则创建,存在FileExistsError |
'a' | 追加写模式,文件不存在则创建,存在则在文件最后追加内容 |
'b' | 二进制文件模式 |
't' | 文本文件模式,默认值 |
'+' | 与r/w/x/a一同使用,在原来的功能上增加同时读写功能,例如r+,或a+ |
打开文件的代码示例(要打开的文件为:grade.txt):
txtfile = open('grade.txt','r')
文件使用后的关闭(<文件名>.close()):
txtfile.close()
2.文件的读写
文件内容读取方法:
<文件名>.read(size) | 读出文件中全部内容,如果给出参数,则读出前size长度的字符串或字节流 |
<文件名>.readline(size) | 从文件读入一行,如果有参数,则读入该行的前size长度的字符串或字节流 |
<文件名>.readlines(size) | 从文件读入所有行,以每行为元素形成一个列表,如果给出参数,则读入size行 |
读取一个文件的实例:
fname = input("输入要打开的文件名:")
fo = open(fname,"r")
for line in fo.readlines():
print(line)
fo.close
这几行代码演示了将一个文件打开并逐行打印,最后关闭该文件。
文件的写入方法:
<文件名>.write(s) | 向文件写入一个字符串或字节流 |
<文件名>.writelines(s) | 将一个元素全为字符串的列表写入文件 |
<文件名>.seek(offset) | 改变当前文件操作指针的位置。offset的取值:0,文件开头;1,当前位置;2,文件结尾 |
写入文件的代码示例:
fo = open('text.txt',"w+")
s = ["语文","数学","英语"]
fo.writelines(s)
fo.close
操作后名为text的文本文件被写入内容:语文数学英语