Python 文件IO:TXT 文件的讀取與寫入


原文鏈接:https://blog.xieqiaokang.com/posts/36031.html

讀取

使用 open() 函數配合 rt 模式讀取文本文件內容:

備注1:rt 模式中的 t 表示對換行符進行智能轉換,在 UNIX 和 Windows 中換行符的識別是不同的,對於 UNIX 換行符為 \n ,而 Windows 為 \r\n 。默認情況下,Python 工作在“通用型換行符”模式下,可以將所有常見的換行格式識別出來。加入 t 參數,在讀取時,如果換行符為 \r\n ,會將其轉換為 \n 字符。同理,在寫入時會將換行符 \n 轉換為當前系統默認的換行符。

備注2:也可以給 open() 函數提供一個 newline='' 參數對換行符進行手動操作。

# 將整個文件讀取為一個字符串
with open('file.txt', 'rt') as f:
    data = f.read()
    
# 一行一行地讀取文件
with open('file.txt', 'rt') as f:
    for line in f:
        # process line
        ...

備注:使用 with 語句,會為使用的文件創建一個上下文環境,當程序的控制流程離開 with 語句塊后,文件將自動關閉。如果不使用 with 語句,需記得手動關閉文件:f.close()

舉例:將 .txt 文件內容讀取為一個 python 列表,列表元素按順序依次為文本文件每一行的內容:

def read_txt(txt_path):
    lines = []
    with open(txt_path, 'rt') as f:
        for line in f:
            lines.append(line.strip())
    return lines

寫入

與讀取類似,使用 wt 模式即可。

# 將文本內容寫入文件
with open('file.txt', 'wt') as f:
    f.write(line_1)
    f.write(line_2)
    ...
    
# 將 print() 輸出重定向到文件
with open('file.txt', 'wt') as f:
    print(line_1, file=f)
    print(line_2, file=f)
    ...


免責聲明!

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



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