1、打开文件

将文件从磁盘(硬盘)中,读取到内存中

语法:open(file,mode='r',encoding=None)

  >参数file : 要打开的文件,str类型,路径可以使相对路径(建议使用),也可以是觉得路径

  >参数mode : 默认参数(缺省参数),表示打开文件的方式

    >r : read 只读打开

    >w : write 只写打开

    >a : append 追加打开,即在文件的末尾写入内容

  >encoding : 编码方式

    > gbk

    > utf-8  常用

  >返回值 : 返回的是文件对象,对文件的后续操作,使用的是这个对象

2、读或者写文件

写文件----向文件中写入指定内容

前提:文化的打开方式是 w 或者 a

文件对象.write('写入文件的内容')   一般不关注返回值

注意:

1、文件不存在,则直接创建文件

2、文件存在,覆盖原文件

读文件----将文件中的内容读取

前提:文件的打开方式是 r 

文件对象.read(n)    n表示读取多少个字符,一般不写,表示读取全部内容  

          返回值:读取到的文件内容  str类型

3、关闭文件

关闭文件:将文件占有的资源进行清理,同时会保存文件,文件关闭后,文件对象不能再使用

语法:文件对象.close()

eg:写文件

# 打开文件
a = open('test.txt', 'w', encoding='utf-8')
# 写入内容
a.write('这是第一个文件内容\n')  # 无文件时,创建文件; 有文件时,覆盖文件
a.write('这是第二个文件内容')  #
# 关闭文件
a.close()


这是第一个文件内容
这是第二个文件内容

eg:文件的读取

# 打开文件
b = open('test.txt', 'r', encoding='utf-8')
# 读取内容,如果文件不存在,报错
Info = b.read()
print(Info)
# 关闭文件
b.close()

使用with open打开文件

with open()  打开文件后无需关闭文件的代码,自动关闭

语法: with  open (file ,mode ,encoding = 'utf-8')  as  变量 : 

      在缩进中读取或写入文件,缩进中的代码执行完毕,出缩进,文件自动关闭

with open('test.txt', 'a', encoding='utf-8') as c:  # 注意这里的 a 的方式为追加
    c.write('这是第三个文件内容')
  #这是第一个文件内容
  #这是第二个文件内容这是第三个文件内容

按行读取文件内容----一次读取一行内容

文件对象.readline

# 111
# 222
# 333
# 444
# 555
with open('test.txt', encoding='utf-8') as d:  # 未写方式,默认使用 r
    Info = d.readline()
    print(Info,end='')  # 111
    print(d.readline())  # 222  读取一次后指针停留在读取行,在读取时往下进行

# read() 和 readline()读取到文件末尾,返回一个空字符串,即长度为0 
# 容器中无内容,即为空,表示为Flase,其余为True
with open('test.txt', encoding='utf-8') as d:
    while True:
        Info = d.readline()
        if len(Info) == 0:  #判断读取的文件长度是否为0,即是否是返回的空字符串
            break
        else:
            print(Info)