我们经常使用电脑磁盘中存储的图片、音乐、电影、doc文档等文件。例如使用播放器播放音乐和电影、用图片软件浏览图片、用Word软件查看或编辑doc文档等。那么,这些文件是如何形成的?在Python中又如何输出一个文件?

文件是如何形成的

一般来说文件都与使用该文件的程序相关。例如,大家比较熟悉的Word软件,与它相关的就是扩展名为doc的文件。打开Word文档对内容编辑完成后,选择保存文件。Word软件会把刚编辑的内容保存(写入)到一个被命名的文件中,写入的内容不仅仅是编辑的内容,也包括Word自身的段落、页面、字体字号等控制内容,Word会按照自己定义的数据结构(文件格式)来组织这些内容并写入到文件。当Word读取该文件时,它会按照已定义的数据结构(文件格式)来解析读取的文件内容。因此,doc文档只能被Word程序使用,而不能被其它程序使用,除非Word公开了doc文件的数据结构(文件格式)。

用Python语言编写的程序,也可以生成和读取Word文件,前提是要了解Word的文件格式。Python文件对象提供了二种输出文件内容的方法,分别是write和writelines。其中write方法可以把文本数据或二进制数据块写入到文件;writelines把一个字符串列表写入到文件。下面分别予以说明。

使用write方法写入内容到文件

write方法把字符串或byte类型的数据写入到文件。当被写入文件以文本模式打开时,传入的参数应为字符串类型,当被写入文件以二进制模式打开时,传入的参数应为byte类型。

writesize = fileobj.write (data);

其中data为要写入文件的数据,调用write方法写入data数据到文件后,write返回写入的字节数。需要注意到是,此时data数据并没有真正写入到文件,因为data数据被存储在缓冲区中,直到调用关闭或刷新缓冲区方法后,缓冲区的data数据才能实际写入到文件中。

例1:将字符串内容写入文本文件。