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 ") #如果要写入字符串以外的数据,先将他转换为字符串.

f.tell() 返回一个整数,表示当前文件指针的位置(就是到文件头的比特数).

f.seek(偏移量,[起始位置])

用来移动文件指针

偏移量:单位:比特,可正可负

起始位置:0-文件头,默认值;1-当前位置;2-文件尾

f.close() 关闭文件

原文地址:https://www.cnblogs.com/darktime/p/3288566.html