使用Python進(jìn)行文件讀寫操作的基本方法
一、文件讀取:
# 打開文件 with open('example.txt', 'r') as file: # 讀取文件的全部?jī)?nèi)容 content = file.read() print(content) # 將文件指針重置到文件開頭 file.seek(0) # 逐行讀取文件內(nèi)容 lines = file.readlines() for line in lines: print(line.strip()) # 去除行末的換行符 # 將文件指針重置到文件開頭 file.seek(0) # 逐行讀取文件內(nèi)容的另一種方式 for line in file: print(line.strip())
代碼解釋:
open('example.txt', 'r')
:以只讀模式r
打開名為example.txt
的文件。with
語(yǔ)句:確保文件在使用完畢后自動(dòng)關(guān)閉,避免資源泄漏。file.read()
:讀取文件的全部?jī)?nèi)容。file.seek(0)
:將文件指針重置到文件開頭,以便重新讀取。file.readlines()
:將文件內(nèi)容按行讀取,并存儲(chǔ)在一個(gè)列表中,每一行是列表的一個(gè)元素。for line in file
:逐行讀取文件內(nèi)容,file
對(duì)象是可迭代的,每次迭代返回一行。
二、文件寫入:
# 打開文件進(jìn)行寫入 with open('output.txt', 'w') as file: # 寫入內(nèi)容 file.write("Hello, World!\n") file.write("This is a new line.")
代碼解釋:
open('output.txt', 'w')
:以寫入模式w
打開文件,如果文件不存在,會(huì)創(chuàng)建文件;如果文件存在,會(huì)清空原文件內(nèi)容。file.write()
:將指定內(nèi)容寫入文件,不會(huì)自動(dòng)添加換行符,若需要換行,需手動(dòng)添加\n
。
三、文件追加:
# 打開文件進(jìn)行追加 with open('output.txt', 'a') as file: # 追加內(nèi)容 file.write("\nThis is an appended line.")
代碼解釋:
open('output.txt', 'a')
:以追加模式a
打開文件,在文件末尾添加新內(nèi)容,不會(huì)覆蓋原文件內(nèi)容。
四、文件讀寫的二進(jìn)制模式:
# 以二進(jìn)制模式讀取文件 with open('example.bin', 'rb') as file: binary_data = file.read() print(binary_data) # 以二進(jìn)制模式寫入文件 with open('output.bin', 'wb') as file: binary_data = b'\x48\x65\x6c\x6c\x6f\x20\x57\x6f\x72\x6c\x64' # 二進(jìn)制數(shù)據(jù) file.write(binary_data)
代碼解釋:
open('example.bin', 'rb')
:以二進(jìn)制只讀模式rb
打開文件。open('output.bin', 'wb')
:以二進(jìn)制寫入模式wb
打開文件。b'\x48\x65\x6c\x6c\x6f\x20\x57\x6f\x72\x6c\x64'
:表示二進(jìn)制數(shù)據(jù),使用b
前綴。
五、使用 json 模塊讀寫 JSON 文件:
import json # 寫入 JSON 數(shù)據(jù) data = {'name': 'John', 'age': 30, 'city': 'New York'} with open('data.json', 'w') as file: json.dump(data, file) # 讀取 JSON 數(shù)據(jù) with open('data.json', 'r') as file: loaded_data = json.load(file) print(loaded_data)
代碼解釋:
json.dump(data, file)
:將 Python 對(duì)象data
序列化為 JSON 格式并寫入文件。json.load(file)
:從文件中讀取 JSON 數(shù)據(jù)并解析為 Python 對(duì)象。
六、使用 csv 模塊讀寫 CSV 文件:
import csv # 寫入 CSV 數(shù)據(jù) data = [['Name', 'Age', 'City'], ['John', 30, 'New York'], ['Jane', 25, 'Chicago']] with open('data.csv', 'w', newline='') as file: writer = csv.writer(file) writer.writerows(data) # 讀取 CSV 數(shù)據(jù) with open('data.csv', 'r') as file: reader = csv.reader(file) for row in reader: print(row)
代碼解釋:
csv.writer(file)
:創(chuàng)建一個(gè) CSV 寫入對(duì)象,將數(shù)據(jù)列表寫入文件。writer.writerows(data)
:將數(shù)據(jù)列表中的每一行寫入文件。csv.reader(file)
:創(chuàng)建一個(gè) CSV 讀取對(duì)象,逐行讀取文件。
七、使用 pandas 模塊讀寫文件(需要安裝 pandas 庫(kù)):
import pandas as pd # 寫入數(shù)據(jù)到 CSV 文件 data = {'Name': ['John', 'Jane'], 'Age': [30, 25], 'City': ['New York', 'Chicago']} df = pd.DataFrame(data) df.to_csv('data_pandas.csv', index=False) # 讀取 CSV 文件 df_read = pd.read_csv('data_pandas.csv') print(df_read)
代碼解釋:
pd.DataFrame(data)
:將字典數(shù)據(jù)轉(zhuǎn)換為pandas
的DataFrame
對(duì)象。df.to_csv('data_pandas.csv', index=False)
:將DataFrame
對(duì)象存儲(chǔ)為 CSV 文件,不保存索引。pd.read_csv('data_pandas.csv')
:讀取 CSV 文件為DataFrame
對(duì)象。
八、使用 pickle 模塊進(jìn)行對(duì)象序列化和反序列化:
import pickle # 序列化對(duì)象 data = {'name': 'John', 'age': 30, 'city': 'New York'} with open('data.pkl', 'wb') as file: pickle.dump(data, file) # 反序列化對(duì)象 with open('data.pkl', 'rb') as file: loaded_data = pickle.load(file) print(loaded_data)
代碼解釋:
pickle.dump(data, file)
:將 Python 對(duì)象data
序列化為二進(jìn)制數(shù)據(jù)并寫入文件。pickle.load(file)
:從文件中讀取二進(jìn)制數(shù)據(jù)并反序列化為 Python 對(duì)象。
以上是 Python 中進(jìn)行文件讀寫操作的常用方法,你可以根據(jù)不同的文件類型和使用場(chǎng)景,選擇合適的方法進(jìn)行操作。
最后
根據(jù)文件類型和操作需求,可以靈活使用內(nèi)置的 open 函數(shù)及相關(guān)模塊,如 json、csv、pandas 和 pickle 等,同時(shí)利用 with 語(yǔ)句確保文件的正確打開和關(guān)閉。你 Get 到了么,歡迎關(guān)注威哥愛編程,全棧路上我們并肩前行。
以上就是使用Python進(jìn)行文件讀寫操作的基本方法的詳細(xì)內(nèi)容,更多關(guān)于Python文件讀寫操作的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
python實(shí)時(shí)監(jiān)控cpu小工具
這篇文章主要為大家詳細(xì)介紹了python實(shí)時(shí)監(jiān)控cpu的小工具,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-06-06Django項(xiàng)目創(chuàng)建到啟動(dòng)詳解(最全最詳細(xì))
這篇文章主要給大家介紹了關(guān)于Django項(xiàng)目創(chuàng)建到啟動(dòng)的步驟,本文介紹的方法算是最全最詳細(xì)的一個(gè)項(xiàng)目,需要的朋友可以參考下2019-09-09使用python批量讀取word文檔并整理關(guān)鍵信息到excel表格的實(shí)例
今天小編就為大家分享一篇使用python批量讀取word文檔并整理關(guān)鍵信息到excel表格的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧2018-11-11Python中的列表生成式與生成器學(xué)習(xí)教程
這篇文章主要介紹了Python中的列表生成式與生成器學(xué)習(xí)教程,Python中的Generator生成器比列表生成式功能更為強(qiáng)大,需要的朋友可以參考下2016-03-03Python辦公自動(dòng)化之CSV文件的運(yùn)用和管理
Python辦公?動(dòng)化是利?Python編程語(yǔ)?來(lái)創(chuàng)建腳本和程序,以簡(jiǎn)化、加速和?動(dòng)化?常辦公任務(wù)和?作流程的過程,本文主要來(lái)介紹一下如何利用Python進(jìn)行CSV文件的運(yùn)用和管理,感興趣的可以了解下2023-12-12