1.打开和关闭文件(open(),file(),close())
创建文件/打开文件
有两种内建函数可以获取文件对象:open和file。他们的用法完全一样。
fileObj = open(filename,access_mode='r',buffering=-1)
open、mode、buffering三个参数
f=open('文件名','模式')
>>> f=open('D://test2.txt','w')
>>> f=open('D:\\first-python.txt','w')
>>> f
模式有 # r只读,w可写,a追加, r+,w+,a+, 以读写模式打开,参见w,a.
open:如果没有该文件,则创建文件,有该文件则为打开文件。
另外还有一个b表示二进制模式访问,但是对于Linux或者unix系统来说这个模式没有任何意义,因为他们把所有文件都看作二进制文件,包括文本文件。
第三个参数不经常用到,标识访问文件的缓冲方式,0代表不缓冲,1代表缓冲一行,-1代表使用系统默认缓冲方式。只要使用系统默认就好。
使用完文件后,一定要记得关闭文件,操作如下:
>>> f.close()
文件内容追加,从0——9随即追加
>>> import random
>>> f=open('D:\\first-python.txt','a')
>>> for i in range(0,10):
f.write(str(random,randint(0,9)))
.
.
.
.
>>> f.close()
文件内容追加,每行随机生成10个0——9的数字。**mark,这个可以产生随机数组。
>>> for i in range(0,10):
for i in range(0,10):
f.write(str(random.randint(0,9)))
f.write('\n')
.
.
.
.
>>> f.close()
2.文件读入
2.1.file.read(size = -1)
读取从当前文件游标起size个字节的文件内容。如果size=-1,则读取所有剩余字节。
>>> f=open('D:\\first-python.txt')
>>> f.read(100) #读取当前文件游标起100个字节的文件内容
2.2.file.readlines(size=-1)
从文件中读取并返回一行(包括行结束符),或返回最大size个字符
逐行显示——for语言
>>> for i in f:
f.readline()
2.3.file.readlines(sizhint=0)
读取文件所有的行,并作为一个列表返回(包括行结束符),如果sizhint>0则返回总和大约sizhint字节的行(具体由缓冲区大小决定)。
#
3.文件输出
3.1.file.write(str)
向文件中写入指定的字符串。
>>> f.write("print 'hello,world'")
19
文件中出现print 'hello,world'
3.2.file.write(seq)
向文件写入字符串序列seq。seq是任何返回字符串的可迭代对象。