什么是文件?
.exe
.txt
.ppt
.jpg
.mp4
.avi
等等
打开和关闭文件
python中使用open()打开文件,使用close()关闭文件,flush()方法可将缓冲区内容写入文件,但不关闭文件
语法:myfile = open(filename[,model])
语法: myfile.close()
语法:myfile.flush()
文件打开模式:
打开模式 | 执行操作 |
---|---|
‘r’ | 以只读方式打开(默认) |
‘w’ | 以写入的方式打开文件,会覆盖已存在的文件/存在同名文件,原来的文件会被删除 |
‘x’ | 如果文件已存在,使用此模式打开将引发一场 |
‘a’ | 以写入模式打开,如果文件存在,则在末尾追加写入 |
‘b’ | 以二进制模式打开文件 |
‘t’ | 以文本模式打开(默认) |
‘+’ | 以读写模式(可 添加到其他模式中使用) |
‘u’ | 通用换行符支持 |
文件对象方法
文件对象方法 | 执行操作 |
---|---|
myfile.close | 关闭文件 |
myfile.read(size=1) | 从文件读取size个字符,当未给定size或给定值的时候,读取剩余的所有字符,然后作为字符串返回 |
myfile.readline() | 把下一个换行符号之前的内容读入一个字符串(读一行),读出内容宝行行尾符号 |
myfile.write(str) | 将字符串str写入到文件指针位置,返回写入的字符个数 |
myfile.writelines(seq) | 向文件写入字符串序列seq,seq应该是一个返回字符串的可迭代对象/将列表写入文件指针位置,返回写入的字符个数 |
myfile.seek(offset,from) | 在文件中移动文件指针,从from(0代表文件文件起始位置,1代表当前位置,2代表文件末尾)偏移offset个字节 |
myfile.tell() | 返回当前在文件中的位置 |
for line in myfile | 用迭代的方式读取文件,每次读一行 |
例子:
以r方式打开文件时,只能从文件读取数据
>>>myfile = open(r'e:\\code.txt',encoding='utf-8')
>>>x=myfile.read() #读取文件全部内容到字符串
>>>x #直接显示可看到文件中的“\r\n”在字符串中为“\n”
>'one第一行\ntwo第二行\nthree第三行'
>>>print(x) #打印格式与源文件完全一致
one第一行
two第二行
three第三行
>>>myfile.read() #文件指针已指向文件末尾,返回空字符串
>"
>>>myfile.seek(0)#将文件指针移动到文件开头
>0
>>>myfile.read(5) #读5个字节到字符串
>'one第一'
>>>myfile.tell()#返回文件指针当前位置
>9
>>>myfile.readline() #读取第一行剩余部分
>'行\n'
>>>myfile.readlin() #读取下一行
>'two第二行\n'
>>>myfile.seek(0)
>0
>>>myfile.readlines()#读取文件全部内容到列表
>['one第一行\n','two第二行\n','three第三行\n']
>>>myfile.seek(0)
>0
>>>for x in myfile:print(x)#以迭代方式读文件
...
one第一行
two第二行
three第三行
以r+方式