您的位置:首页 > 编程语言 > Python开发

python3之python的核心数据类型(文件)

2011-11-02 18:58 387 查看
python3之python的核心数据类型(文件)

----------

文件对象是python代码对电脑上外部文件的主要接口。虽然文件是核心类型,但是它有些特殊:没有特定的常量语法创建文件。要创建一个文件对象,需要调用内置的open函数以字符串的形式传递给它一个外部的文件名以及一个处理模式的字符串。例如,创建一个文本输出文件,可以传递其文件名以及'w'处理模式字符串以写数据:

>>>f=open('data.txt','w')
>>>f.write('Hello\n')
6
>>>f.write('world\n')
6
>>>f.close()
这样就在当前文件夹下创建了一个文件,并向它写入文本(文件名可以是完整的路径,如果需要读取电脑上其他位置的文件)。为了读出刚才所写的内容,重新以'r'处理模式打开文件,读取输入(如果在调用时忽略模式的话,这将是默认的)。之后将文件的内容读至一个字符串,并显示它。对脚本而言,文件的内容总是字符串,无论文件包含的数据是什么类型:

>>>f=open('data.txt')
>>>text=f.read()
>>>text
'Hello\nworld\n'
>>>print(text)
Hello
world
>>>text.split()
['Hello','world']
这里对其他的文件对象方法支持的特性不进行讨论。例如,文件对象提供了多种读和写的方法(read可以接受一个字节大小的选项,readline每次读一行等),以及其他的工具(seek移动到一个新的文件位置)。我们在本书后面会看到,如今读取一个文件的最佳方式就是根本不读它,文件提供了一个迭代器(iterator),它在for循环或其他环境中自动地一行一行读取。

我们将在本书的后面看到文件方法的一个完整列表。

在本书后面,我们还将看到python3.0中的文件在文本和二进制数据之间划出了一条清晰的界限。文本文件把内容显示为字符串,并且自动执行Unicode编码和解码;而二进制文件把内容显示为一个特定的字节字符串类型,并且允许你不修改地访问文件内容:

>>>data=open('data.bin','rb').read()
>>>data
b'\x00\x00\x07spam\x00\x08'
如果你只处理ASCII文本的话,通常不需要关心这一区别,尽管如此,如果你处理国际化的应用程序或者面向字节的数据,python3.0的字符串和文件是很有用的。

open函数能够实现在python中编写的绝大多数文件处理。尽管这样,对于更高级的任务,python还有额外的类文件工具:管道、先进先出队列(FIFO)、套接字、通过键访问文件、对象持久、基于描述符的文件、关系数据库和面向对象数据库接口等。例如,描述符文件支持文件锁定和其他的底层工具,而套接字提供网络和进程间通信的接口。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: