python基礎之文件操作 read、readline和readlines


python中有三種函數,用來幫我們實現文件的讀取,這三種函數分別是read、readline和readlines

1. read

read函數的作用是讀取文件全部內容,逐個字節或者字符讀取(指針從開頭的位置到結尾的位置),讀取的得到的是字符串對象,以可讀(r, r+, rb, rb+)模式打開文件

如果文件是二進制模式,那么read是逐個字節讀取,而如果是非二進制模式,那么是以字符串逐個讀取

with open("test2.txt", "w", encoding="utf-8") as f:
    f.writelines(["關關雎鳩\n", "在河之洲\n", "窈窕淑女\n", "君子好逑\n"])

# read函數
with open("test2.txt", "r", encoding="utf-8") as f:
    file = f.read()
    print(type(file))    # <class 'str'>
    print(file.strip())  # 文件的 讀取,我們都習慣要取出文件前面的空格
    """
    關關雎鳩
    在河之洲
    窈窕淑女
    君子好逑
    """

read函數中還有可選參數size,用於指定一次最多可讀取的字符串的個數,如果省略,那么一次性讀取全部內容,如果指定的數字大於文件內全部的字符或者字節數,它也不會報錯,他會全部讀取里面的內容

with open("test2.txt", "r", encoding="utf-8") as f:
    file = f.read(10)
    print(type(file))    # <class 'str'>
    print(file.strip())  # 文件的 讀取,我們都習慣要取出文件前面的空格
    """
    關關雎鳩
    在河之洲
    """
with open("test2.txt", "r", encoding="utf-8") as f:
    file = f.read(100)
    print(type(file))    # <class 'str'>
    print(file.strip())  # 文件的 讀取,我們都習慣要取出文件前面的空格
    """
    關關雎鳩
    在河之洲
    窈窕淑女
    君子好逑
    """

2.readline

readline函數用於讀取文件的一行,每次讀出一行內容,所以讀取占用內存小,適合大文件的讀取,讀取得到的對象是字符串對象

with open("test2.txt", "r", encoding="utf-8") as f:
    line = f.readline()
    print(type(line))    # <class 'str'>
    print(line)          # 關關雎鳩
# 如果想要讀取里面的全部內容,結合while循環
with open("test2.txt", "r", encoding="utf-8") as f:
    line = f.readline()
    while line:
        print(line)
        line = f.readline()

"""

關關雎鳩

在河之洲

窈窕淑女

君子好逑

"""

3.readlines

一次性讀取全部內容,讀取得到的文件內容是列表對象,讀取大文件的時候不推薦使用這種方法

# readlines函數
with open("test2.txt", "r", encoding="utf-8") as f:
    lines = f.readlines()
    print(type(lines))    # <class 'list'>
    for i, line in enumerate(lines, 1):
        print("第{}行:{}".format(i, line))

第1行:關關雎鳩

第2行:在河之洲

第3行:窈窕淑女

第4行:君子好逑

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM