首页 > 代码库 > (x) 文件和流

(x) 文件和流

打开文件

f=open(C:\Temp.txt)

 

读取数据

f.read();

 

关闭文件

f.close();#关闭后将无法再读取

 

打开文件的方式

不写模式,默认是只读模式

1、r 打开只读文件,该文件必须存在。
2、r+ 打开可读写的文件,该文件必须存在。
3、w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。
4、w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。
5、a 以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。
6、a+ 以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。
7、上述的形态字符串都可以再加一个b字符,如rb、w+b或ab+等组合,加入b 字符用来告诉函数库打开的文件为二进制文件,而非纯文字文件。不过在POSIX系统,包含Linux都会忽略该字符。

 

只写入模式

f=open(C:/abc.txt,w);#如果没有会创建一个文件,只能被写入,不能被读取。如果文件有数据此模式会覆盖原先的数据

写入

f.write(nihao);#写入内存,此时文件里还没有数据

关闭

f.close()#关闭后数据被保存在文件中。

 

追加模式

f=open(C:/abc.txt,a);
f.write(,I AM TOM);
f.close()

 

***注意同时有读取和写入操作时***

read()方法会改变指针位置

例如

在r+模式下

先读取文件---写入---关闭的顺寻会在文件后面追加文字

如果直接写入文件则会按字符长度覆盖之前的文字

 

 

文件对象方法

f.readline() #按行读取,执行一次读一行

 

f.readlines()#读取每行返回一个列表,超出后会去读空字符串

例:

文件里的内容如下

技术分享

 

技术分享

 

 

f.next()#和readlines()相同效果,但是超出后会给出一个提示

技术分享

 

 

f.writelines(列表名);#多行用此方法更加效率

技术分享

技术分享

 

 

 f.seek(偏移量,选项)

0 表示将文件指着指向从文件头部到“偏移量”字节处

1 表示将文件指着指向从文件当前位置,向后移动“偏移量”字节

2 表示将文件指着指向从文件尾部,向前移动“偏移量”字节

 

f.flush()#不需要执行关闭方法就能查看到内容

 

(x) 文件和流