Python基础(5) - 文件

Python

Python提供的函数和方法方便地对文件进行读、写、删除等的操作。

open()函数返回一个文件对象。

open(name[, mode[, buffering]]) -> file object

filename是你要操作的文件名,如果不在当前路径,需指出具体路径。mode是打开文件的模式,表示你要如何操作文件,bufsize表示是否使用缓存。

mode模式 :
r 以读方式打开文件,可读取文件信息。
w 以写方式打开文件,可向文件写入信息。
a 以追加方式打开文件,文件指针自动移到文件尾。
r+ 以读写方式打开文件,可对文件进行读和写操作。
w+ 消除文件内容,然后以读写方式打开文件。
a+ 以读写方式打开文件,并把文件指针移到文件尾。
b 以二进制模式打开文件,而不是以文本模式

方法  描述
f.close()  关闭文件,记住用open()打开文件后一定要记得关闭它,否则会占用系统的可打开文件句柄数。
f.fileno()  获得文件描述符
f.flush()  刷新输出缓存
f.isatty()  如果文件是一个交互终端,则返回True,否则返回False。
f.read([count])  读出文件,如果有count,则读出count个字节。
f.readline()  读出一行信息。(文件EOF读出的是空串)
f.readlines()  读出所有行,也就是读出整个文件的信息。
f.seek(offset[,where])  把文件指针移动到相对于where的offset位置。offset为0表示文件开始处,这是默认值 ;1表示当前位置;2表示文件结尾。
f.tell()  获得文件指针位置。
f.truncate([size])  截取文件,使文件的大小为size。
f.write(string)  把string字符串写入文件。
f.writelines(list)  把list中的字符串一行一行地写入文件。

如何从文件中快速有效的读取每一行内容?

line = f.readline()
while line:
       print line
       line = f.readline()

for line in f.readlines():
       print line

for line in f:
       print line 

 

pickle模块(对象的序列化):

pickle.dump(x, f)

把对象x 序列化后保存到文件f中

x = pickle.load(f)

从文件f中还原对象x

>>> f = open('d:\\a.txt','w')
>>> a = ['aaa','bbb','ccc']
>>> import pickle
>>> pickle.dump(a,f)
>>> f.close()
>>>
>>> f = open('d:\\a.txt','r')
>>> l = pickle.load(f)
>>> l
['aaa', 'bbb', 'ccc']
>>>



a.txt:
(lp0
S'aaa'
p1
aS'bbb'
p2
aS'ccc'
p3
a.

文件相关函数:

Module(s)

Contents

fileinput

iterates over lines of multiple input text files

getopt

provides command-line argument parsing/manipulation

glob/fnmatch

provides Unix-style wildcard character matching

gzip/zlib/zipfile

allows file access to include automatic de/compression

shutil

offers high-level file access functionality

c/StringIO

implements file-like interface on top of string objects

os

Miscellaneous operating system interfaces

tempfile

generates temporary file names or files

 

posted on 2014-01-21 09:56  tony_cyou  阅读(291)  评论(0编辑  收藏  举报

导航