1. 获取文件句柄
函数open(file, mode, buffering, encoding, errors, newLine, closefd)
可用于打开一个文件并返回文件流句柄,通过文件句柄可以对文件进行读写操作;
使用open( )函数打开文件,文件使用结束后要使用close( )函数关闭,释放文件的使用授权
#打开文件person.txt,f作为文件句柄变量
with open('person.txt','r') as f:
print(f.read())
文件的打开模式 | 含义 |
‘r’ | 只读模式,如果文件不存在,返回异常FileNotFoundError |
‘w’ | 覆盖写模式,文件不存在则创建,存在则完全覆盖 |
‘x’ | 创建写模式,文件不存在则创建,存在则返回异常FileExistsError |
‘a’ | 追加写模式,文件不存在则创建,存在则在文件最后追加内容 |
‘b’ | 二进制文本模式 |
‘t’ | 文本文件模式 |
‘+’ | 与r/w/x/a一同使用,在原功能基础上增加同时读写功能 |
2. 文件的写入方法
方法 | 含义 |
f.write(e) | 向文件写入字符串或字节流 |
f.writeline(lines) | 将一个元素全为字符串的列表写入文件 |
f.seek(offset) | 改变当前文件操作指针的位置,offset的值:0-文件开头,1-当前位置,2-文件结尾 |
fileName=input("请输入要写入的文件:")
#以追加形式写入文件
f=open(fileName,'a+')
#定义列表
ls=['apple','pear','orange']
#将一个元素全为字符串的列表写入文件
f.writelines(ls)
f.write('\r\n')
#将字符串写入文件
f.write('banana')
#从文件开头开始写入
f.seek(0)
#循环打印出写入文件中的内容
for line in f:
print(line)
#关闭资源
f.close()
运行结果是:
3. 文件的读取方法
方法 | 含义 |
f.read(size=-1) | 从文件中读取整个文件内容,如果给出参数,读入前size长度的字符串或字节流 |
f.readline(size=-1) | 从文件中读取一行内容,如果给出参数,读入该行前size长度的字符串或字节流 |
f.readlines(hint=-1) | 从文件中读入所有行,以每行为元素形成一个列表,如果给出参数,读入hint行 |
fileName=input("请输入要打开的文件:")
#以只读的方式读取文件内容
f=open(fileName,'r')
#从文件中读入所有行
print(f.readlines())
#文件从头开始读取文件内容
f.seek(0)
#从文件中读取一行内容
print(f.readline())
#关闭资源
f.close()
运行结果是: