(12) 文件和流

Posted 富坚老贼

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了(12) 文件和流相关的知识,希望对你有一定的参考价值。

打开文件

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()#不需要执行关闭方法就能查看到内容

 

文件夹操作

1、os.path.exists(path) 判断一个目录是否存在

2、os.makedirs(path) 多层创建目录

3、os.mkdir(path) 创建目录

 返回 Ture和 False

 

以上是关于(12) 文件和流的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段12——JavaScript的Promise对象

C++学习笔记:高级编程:文件和流,异常处理,动态内存,命名空间

Python 文件和流

Python 文件和流

IINA“无法打开文件和流”解决

python--文件和流