python学习笔记之open函数的用法
先上一段代码
>>> f = open('1.txt','r'); >>> f.readline() #读取数据
>>> f.close() #关闭
输出结果
1234
python 的读写模式有很多种
1.r 以只读的方式打开
开始的事例是用 r 也就是只读的方式打开
2.w 以只写的方式打开
>>> f = open('1.txt','w') >>> str = 'abcd' >>> f.write(str) >>> f.close() >>> f = open('1.txt','r') >>> f.readline() 'abcd' //输出的结果 >>> f.close()
开始1.txt里面的内容为1234 现在用w模式打开写入abcd , 再读取结果为abcd,可见这是一种替换的方式写入的
3.a 以追加模式打开 (从 EOF 开始, 必要时创建新文件)
>>> f = open('1.txt','a') >>> str = '1234' >>> f.write(str) >>> f.close() >>> f = open('1.txt','r') >>> f.readline() 'abcd1234' #输出结果 >>> f.close()
可见是直接追加到后面了
其他还有
r+ 以读写模式打开
w+ 以读写模式打开
a+ 以读写模式打开
rb 以二进制读模式打开
wb 以二进制写模式打开
ab 以二进制追加模式打开
rb+ 以二进制读写模式打开
wb+ 以二进制读写模式打开
ab+ 以二进制读写模式打开
就不一一列出来了!
注意带+的在用OPEN函数的时候一定要用双引号括起来
例如
f = open('1.txt',"r+")
不然会报错的!
其他函数用法
f.read([size]) size未指定则返回整个文件,如果文件大小>2倍内存则有问题.f.read()读到文件尾时返回""(空字串)
file.readline() 返回一行
file.readline([size]) 返回包含size行的列表,size 未指定则返回全部行
for line in f: print line #通过迭代器访问
f.write("hello\n") #如果要写入字符串以外的数据,先将他转换为字符串.
f.tell() 返回一个整数,表示当前文件指针的位置(就是到文件头的比特数).
f.seek(偏移量,[起始位置])
用来移动文件指针
偏移量:单位:比特,可正可负
起始位置:0-文件头,默认值;1-当前位置;2-文件尾
f.close() 关闭文件