网站logo

Python学习小站



一、open函数回顶


    f = open("D:/好代码.txt", "r", encoding="UTF-8")
    print(type(f))
    #*  open函数用来打开文件,四个参数,但是我们暂时先用三个,第一个参数是字符串,是文件的地址,第二个参数是模式,
    #*  有"r","w","a"三种,r是只读,w是写入,a是追加
    #*  open函数返回文件对象,可以通过type查看到
    #!  如果没有文件,那么它会创建一个新文件
    

二、read函数回顶


    #TODO   read方法,作用于文件对象,可以读取指定字节的文件内容,不指定参数,则读取全部文件内容
    #!  如果多次调动read,那么下次read就会从上次read的最后位置开始读取
    #!  或者,从更加广泛的角度来说,只要使用了r模式打开文件进行读取,那么后面无论使用什么方法和函数,
    #!  都会续接上一次读取文件方法的最后读取位置,当然这一切是在同一个文件对象前提来说,如果文件对象不一样,
    #!  那么两个文件对象互不相关是理所应当的
    print(f"读取十个字节:{f.read(10)}")
    print(f"读取剩下的内容:{f.read()}")
    

三、close函数回顶


    #TODO   close()函数可以关闭文件
    f.close()
    

四、readline与readlines回顶


    #TODO   readlines()方法会读取文件对象的所有行,并且封装到一个列表中
    #TODO   readline()读取一行
    #!  注意,所有读行操作,即readlines和readline,甚至是for循环取出文件对象的每一行(后面会讲)
    #!  都会将行末的换行符\n读取到,因此要进行strip操作(后面会演示)
    f = open("D:/好代码.txt", "r", encoding="UTF-8")
    line = f.readline()
    lines = f.readlines()
    print(line)
    print(f"lines对象的类型:{type(lines)}")
    print(f"lines对象的内容是:{lines}")
    f.close()

    f = open("D:/好代码.txt", "r", encoding="UTF-8")
    for line in f:
        print(line)
    f.close()
    

五、with open回顶


    #TODO   with open可以自动帮助我们关闭文件
    with open("D:/好代码.txt", "r", encoding="UTF-8") as f:
        for line in f:
            print(line)
    

六、写入操作回顶

            
    #TODO   "w"的具体作用是,清除文件的所有内容之后,再重新写入,相对于冲洗文件
    f = open("D:/好代码.txt", "w", encoding="UTF-8")
    #TODO   通过write,可以将具体内容暂时写入缓冲区
    f.write("hello world!")
    #TODO   flush可以将缓冲区所放的内容真正写入文件
    f.flush()
    #*  但是事实上,close函数已经内置了flush()方法
    f.close()
    #!  这里需要注意的是只要用w打开了一个文件对象,那么在关闭这个文件对象前
    #!  多次使用write是可以累加所写内容的,最后flush或者close才将全部的内容写入文件
    #!  此外,只要用w打开了一个文件,这个文件的所有内容就会被清空
    

七、追加操作回顶


    #TODO   a的作用是追加内容,write的参数就是所追加的内容
    #!  但是通常write是追加内容,没有换行,若要换行,可以用\n
    f = open("D:/好代码.txt", "a", encoding="UTF-8")
    f.write("hello world!")
    f.close()