Python-文件讀寫

'''
二进制格式读写文件时,不能使用encoding='utf-8’参数,因为二进制文件不是以文本形式存储的,而是以字节流的形式存储的。在二进制文件中,每个字节都可以表示为一个整数值,而不是字符
在二进制模式下,我们可以使用read()方法读取字节流,并使用write()方法写入字节流
在二进制模式下,我们处理的是字节流而不是字符。因此,在读取或写入二进制文件时,我们不需要指定编码方式
'''

file = r"E:\Code\study_test\test.txt"

#r+:打开一个文件用于读写。文件指针将会放在文件的开头,如果文件不存在不會新建
with open(file, "r+", encoding='utf-8') as files:
    files = files.write("橙加冰")
    print("返回值是寫入內容的長度",files)

#r:以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式
with open(file,"r", encoding='utf-8') as files:
    files = files.readlines()
    print(files)

#rb:以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式,一般用于非文本文件如图片
with open(file, "rb") as files:
    files = files.readlines()
    print(files)

#rb+:以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头
with open(file, "rb+") as files:
    files = files.readlines()
    print(files)

#w:打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件
with open(r"E:\Code\study_test\test_w.txt", "w", encoding='utf-8') as files:
    files = files.write("橙加冰")

#wb:以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件
with open(r"E:\Code\study_test\test_wb.txt", "wb") as files:
    files = files.write("橙加冰".encode("utf-8"))

#w+:打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件
with open(r"E:\Code\study_test\test_w+.txt", "w+", encoding='utf-8') as files:
    files = files.write("橙加冰")

#wb+:以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件
with open(r"E:\Code\study_test\test_wb+.txt", "wb+") as files:
    files = files.write("橙加冰".encode("utf-8"))

#a:打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件进行写入
with open(r"E:\Code\study_test\test_a.txt", "a", encoding='utf-8') as files:
    files = files.write("橙加冰")

#ab:以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件进行写入
with open(r"E:\Code\study_test\test_ab.txt", "ab") as files:
    files = files.write("橙加冰".encode("utf-8"))

#a+:打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写
with open(r"E:\Code\study_test\test_a+.txt", "a+", encoding='utf-8') as files:
    files = files.write("橙加冰")

#ab+:以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写
with open(r"E:\Code\study_test\test_ab+.txt", "ab+") as files:
    files = files.write("橙加冰".encode("utf-8"))

with open(file,"r", encoding='utf-8') as files:
    # file.read(size)将文件数据作为字符串返回,size控制读取的字节数,一次性读取文件全部内容
    print("read:",files.read(3))

with open(file, "r", encoding='utf-8') as files:
    #file.readline():返回文件中行内容的列表,每次读取一行内容
    print("readline:", files.readline())

with open(file, "r", encoding='utf-8') as files:
    # file.readlines(size):返回文件中行内容的列表, 一次读取所有内容并按行返回
    print("readlines:",files.readlines())

with open(file, "w", encoding='utf-8') as files:
    '''write()需要传入一个字符串做为参数,否则会报错
    writelines()既可以传入字符串又可以传入一个字符序列,并将该字符序列写入文件'''
    # file.writelines(strings):将字符串序列写入文件,如果需要换行则要自己加入每行的换行符
    files.writelines("\n202402020632\n\t202402020632\n")
    # file.mode:Access文件打开时使用的访问模式
    print("mode:",files.mode)
    # file.encoding:文件所使用的编码
    print("encoding:",files.encoding)
    # file.name:文件名
    print("name:",files.name)
    # file.close():关闭文件
    # file.closed:表示文件已经被关闭,否则为False

你可能感兴趣的:(python)