文本文件和二进制文件
1)文本文件
文本文件存储的是普通“字符”文本,默认为unicode字符集,可以使用记事本程序打开。但是,像word软件编辑的文档不是文本文件。
2)二进制文件
二进制文件吧数据内容用“字节”进行存储,无法用记事本打开。必须使用专业的软件解码。常见的有:MP4视频文件、MP3音频文件、JPG图片、doc文档等等。
open()函数用于创建文件对象,基本语法格式:
open(文件[,打开方式])
如果只是文件名,代表在当前目录下的文件,文件名可以录入全路径,比如:D:\a\b.txt。为了减少“\”的输入,可以使用原始字符串:r"d:\b.txt"。示例如下3:
f=open(r"d:\b.txt",“a”)
打开方式有如下几种:
模式 | 描述 |
---|---|
t | 文本模式 |
x | 写模式,新建一个文件,如果文件已存在则会报错 |
r | 读模式 |
w | 写模式,如果文件不存在则创建;如果文件存在,则重写内容 |
a | 追加模式,如果文件不存在则创建;如果文件存在,则在文件末尾追加内容 |
b | 二进制模式(可与其他模式组合使用) |
+ | 读写模式(可与其他模式组合使用) |
文本文件对象和二进制对象文件的创建:
如果我们没有增加模式“b”,则默认创建的是文本文件对象,处理基本单元是“字符”,如果二进制模式“b”,则创建的是二进制文件对象,处理的基本单元是“字节”
程序代码:
运行:
File 对象的 close()方法刷新缓冲区里任何还没写入的信息,并关闭该文件,这之后便不能再进行写入。当一个文件对象的引用被重新指定给另一个文件时,Python 会关闭之前的文件。用 close()方法关闭文件是一个很好的习惯。
file.close()
一个文件被打开后,你有一个file对象,你可以得到有关该文件的各种信息。
以下是和file对象相关的所有属性的列表:
属性 | 描述 |
---|---|
file.closed | 返回true如果文件已被关闭,否则返回false |
file.mode | 返回被打开文件的访问模式 |
file.name | 返回文件的名称 |
write()方法可将任何字符串写入一个打开的文件。需要重点注意的是,Python字符串可以是二进制数据,而不是仅仅是文字。write()方法不会在字符串的结尾添加换行符(’\n’)。
语法:
f.write(string)
在这里,被传递的参数是要写入到已打开文件的内容。
read()方法从一个打开的文件中读取一个字符串。需要重点注意的是,Python字符串可以是二进制数据,而不是仅仅是文字。
语法:
f.read([count])
在这里,被传递的参数是要从已打开文件中读取的字节计数。该方法从文件的开头开始读入,如果没有传入count,它会尝试尽可能多地读取更多的内容,很可能是直到文件的末尾。