open函数,主要是都文件进行读取,写入操作;

fs是file stream,文件流的缩写

源码如下:

def open(file, mode='r', buffering=None, encoding=None, errors=None, newline=None, closefd=True):

其中file是文件名,可以给相对路径,也可以给绝对路径,如果文件中含有中文,请记得指定编码格式为-  encoding="utf-8"

一,读取模式

fs = open("练习.txt")  # 当不指定模式时,默认为读取模式,在只读模式下,文件一定要存在,否则报错

1,常用的读取方式

读取的时候,就像饮用水,倒出来了,桶里面就没有了,类似,数据库的游标

(1)

s = fs.read()  # 把该文件的内容全部读取出来

(2)

s = fs.readline()  # 读取该文件中的一行,默认为第一行

(3)

s = fs.readlines()  # 把文件中的所有数据都读取出来,以字符串的形式存放在列表中,一行数据为一个列表元素,

后续框架中,可能会对读取出来的数据进行处理

结果如下:

openfiler 与 nfs比较 open_files_数据

二,只写,模式

fs = open(r"D:\python_workspace\finally_py\面试准备\练习1.txt", "w")

当指定模式为写时,给的文件如果时绝对路径的话,如果路径不存在则会报错,文件不存在会自动创建,w模式下会把原有内容清空,然后在写入

 

三,追加模式

fs = open(r"D:\python_workspace\finally_py\面试准备\练习1.txt", "a")

指定模式为a,append(追加),文件不存在会自动创建,如给的时绝对路径,路径不存在的话则报错。文件存在的话,是在原有的内容末尾直接追加内容。

四,读写模式

fs = open("练习.txt", mode="w+",encoding="utf-8")   # 先写在读,先w在r,即先清除原有的内容,在写入,在读取。

fs = open("练习.txt", mode="r+",encoding="utf-8")   #  可读可追加,如果要写入的话不会清除原有的内容,而是在末尾直接追加

所有模式详解:

openfiler 与 nfs比较 open_files_python_02

注意事项:

以上的所有操作,都是打开了第三方的资源,所以最后都要关闭释放资源。

fs.close()

 

小妙招,很实用--

with open("new.txt", "a", encoding="utf-8") as fs:
    fs.write("我是新文件!我会自动关闭")

with open () as fs:

文件会自动关闭,防止忘记写fs.close,导致文件资源没有释放!!!