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

Python核心数据类型——文件

2011-11-27 17:12 363 查看

1. 文件的一般格式

myFile = open(文件名,处理模式,输出缓存)

处理模式为可选,默认为'r'。处理模式有'a':追加模式,追加模式属于写模式,不可读;'r':只读模式;'w':只写模式,删除文件已有内容后,开始写。

f = open('data.txt', 'r+w'),表示可读可写,多种操作模式用'+'连接。

f = open('data.txt', 'a'),表示在文件尾部追加内容打开文件。

输出缓存为可选,可传入0,表示无输出缓存,也就是执行write方法后直接传给文件。

file是open的同义词,也就是可以写成myFile = file(文件名,处理模式,输出缓存)

2. 常用方法

s = myFile.read()             #把整个文件读到一个字符串中

s = myFile.read(N)         #读取N个字节到一个字符串

s = myFile.readline()       #读取一行到一个字符串(包括行末指示符'\n')

sList = myFile.readlines()#读取整个文件到字符串列表,一行一个字符串

myFile.write(s)               #写入字符串到文件

myFile.writelines(sList)   #把列表中所有字符串写入文件

myFile.seek(N)              #修改文件位置到偏移N处


 

3. 文件的输入输出

当执行read或write时,文件指针都会往后移动,当同时为可读可写模式时,则共享同一个文件指针。

f.read(1)    #文件指针移到偏移1
f.read(1)    #再执行一次f.read(1)后,文件指针移到偏移2

f.read(1)    #文件指针移到偏移1
f.write('x')   #'x'插入到偏移1处,文件指针移到偏移2


  

从文件读取的数据回到脚本中时是一个字符串,如果需要的话,需要手动转换文件格式,如字符串到数字。

当把数据写入文件时,python不会自动把对象转换成字符串,如输出数字时,需要先将数字转换成字符串。

Python标准库pickle模块能够让我们直接在文件中储存Python对象,而不需要在字符串间转换数据类型。

import pickle

pickle.dump(D, F)#往文件F中写入对象D

E = pickle.load(F)#从文件F中读取对象到E


struct模块能够构造并解析打包的二进制数据

eval(s)#eval方法能够将字符串当作可执行的代码,换句话说就是把字符串转换成Python代码(Python是边解释边执行的)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: