最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用Python進(jìn)行文件讀寫(xiě)操作的基本方法

 更新時(shí)間:2025年01月21日 08:41:22   作者:威哥愛(ài)編程  
今天的內(nèi)容來(lái)介紹 Python 中進(jìn)行文件讀寫(xiě)操作的方法,這在學(xué)習(xí) Python 時(shí)是必不可少的技術(shù)點(diǎn),希望可以幫助到正在學(xué)習(xí) python的小伙伴,以下是 Python 中進(jìn)行文件讀寫(xiě)操作的基本方法,需要的朋友可以參考下

一、文件讀取:

# 打開(kāi)文件
with open('example.txt', 'r') as file:
    # 讀取文件的全部?jī)?nèi)容
    content = file.read()
    print(content)

    # 將文件指針重置到文件開(kāi)頭
    file.seek(0)
    # 逐行讀取文件內(nèi)容
    lines = file.readlines()
    for line in lines:
        print(line.strip())  # 去除行末的換行符

    # 將文件指針重置到文件開(kāi)頭
    file.seek(0)
    # 逐行讀取文件內(nèi)容的另一種方式
    for line in file:
        print(line.strip())

代碼解釋

  • open('example.txt', 'r'):以只讀模式 r 打開(kāi)名為 example.txt 的文件。
  • with 語(yǔ)句:確保文件在使用完畢后自動(dòng)關(guān)閉,避免資源泄漏。
  • file.read():讀取文件的全部?jī)?nèi)容。
  • file.seek(0):將文件指針重置到文件開(kāi)頭,以便重新讀取。
  • file.readlines():將文件內(nèi)容按行讀取,并存儲(chǔ)在一個(gè)列表中,每一行是列表的一個(gè)元素。
  • for line in file:逐行讀取文件內(nèi)容,file 對(duì)象是可迭代的,每次迭代返回一行。

二、文件寫(xiě)入:

# 打開(kāi)文件進(jìn)行寫(xiě)入
with open('output.txt', 'w') as file:
    # 寫(xiě)入內(nèi)容
    file.write("Hello, World!\n")
    file.write("This is a new line.")

代碼解釋

  • open('output.txt', 'w'):以寫(xiě)入模式 w 打開(kāi)文件,如果文件不存在,會(huì)創(chuàng)建文件;如果文件存在,會(huì)清空原文件內(nèi)容。
  • file.write():將指定內(nèi)容寫(xiě)入文件,不會(huì)自動(dòng)添加換行符,若需要換行,需手動(dòng)添加 \n。

三、文件追加:

# 打開(kāi)文件進(jìn)行追加
with open('output.txt', 'a') as file:
    # 追加內(nèi)容
    file.write("\nThis is an appended line.")

代碼解釋

  • open('output.txt', 'a'):以追加模式 a 打開(kāi)文件,在文件末尾添加新內(nèi)容,不會(huì)覆蓋原文件內(nèi)容。

四、文件讀寫(xiě)的二進(jìn)制模式:

# 以二進(jìn)制模式讀取文件
with open('example.bin', 'rb') as file:
    binary_data = file.read()
    print(binary_data)

# 以二進(jìn)制模式寫(xiě)入文件
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 打開(kāi)文件。
  • open('output.bin', 'wb'):以二進(jìn)制寫(xiě)入模式 wb 打開(kāi)文件。
  • b'\x48\x65\x6c\x6c\x6f\x20\x57\x6f\x72\x6c\x64':表示二進(jìn)制數(shù)據(jù),使用 b 前綴。

五、使用 json 模塊讀寫(xiě) JSON 文件:

import json

# 寫(xiě)入 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 格式并寫(xiě)入文件。
  • json.load(file):從文件中讀取 JSON 數(shù)據(jù)并解析為 Python 對(duì)象。

六、使用 csv 模塊讀寫(xiě) CSV 文件:

import csv

# 寫(xiě)入 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 寫(xiě)入對(duì)象,將數(shù)據(jù)列表寫(xiě)入文件。
  • writer.writerows(data):將數(shù)據(jù)列表中的每一行寫(xiě)入文件。
  • csv.reader(file):創(chuàng)建一個(gè) CSV 讀取對(duì)象,逐行讀取文件。

七、使用 pandas 模塊讀寫(xiě)文件(需要安裝 pandas 庫(kù)):

import pandas as pd

# 寫(xiě)入數(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)換為 pandasDataFrame 對(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ù)并寫(xiě)入文件。
  • pickle.load(file):從文件中讀取二進(jìn)制數(shù)據(jù)并反序列化為 Python 對(duì)象。

以上是 Python 中進(jìn)行文件讀寫(xiě)操作的常用方法,你可以根據(jù)不同的文件類型和使用場(chǎng)景,選擇合適的方法進(jìn)行操作。

最后

根據(jù)文件類型和操作需求,可以靈活使用內(nèi)置的 open 函數(shù)及相關(guān)模塊,如 json、csv、pandas 和 pickle 等,同時(shí)利用 with 語(yǔ)句確保文件的正確打開(kāi)和關(guān)閉。你 Get 到了么,歡迎關(guān)注威哥愛(ài)編程,全棧路上我們并肩前行。

以上就是使用Python進(jìn)行文件讀寫(xiě)操作的基本方法的詳細(xì)內(nèi)容,更多關(guān)于Python文件讀寫(xiě)操作的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • PyCharm取消波浪線、下劃線和中劃線的實(shí)現(xiàn)

    PyCharm取消波浪線、下劃線和中劃線的實(shí)現(xiàn)

    這篇文章主要介紹了PyCharm取消波浪線、下劃線和中劃線的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • 一文帶你了解Python中的type,isinstance和issubclass

    一文帶你了解Python中的type,isinstance和issubclass

    這篇文章主要為大家詳細(xì)介紹了Python中的type、isinstance和issubclass的使用,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2023-01-01
  • 基于Python和FFmpeg實(shí)現(xiàn)視頻翻譯音畫(huà)同步功能

    基于Python和FFmpeg實(shí)現(xiàn)視頻翻譯音畫(huà)同步功能

    做視頻翻譯,最容易被看到的難題是翻譯準(zhǔn)不準(zhǔn),但真正困擾工程實(shí)現(xiàn)的,往往是音畫(huà)同步,所以本文給大家介紹了在 Python + FFmpeg 環(huán)境下可落地的解決方案,需要的朋友可以參考下
    2025-12-12
  • python并行設(shè)計(jì)的實(shí)現(xiàn)

    python并行設(shè)計(jì)的實(shí)現(xiàn)

    python中的并行設(shè)計(jì)可以顯著增強(qiáng)程序處理大量數(shù)據(jù)或復(fù)雜計(jì)算的速度,通過(guò)使用threading、multiprocessing和concurrent.futures等庫(kù),開(kāi)發(fā)者可以有效利用多核CPU的計(jì)算力,下面就來(lái)詳細(xì)的介紹一下
    2024-09-09
  • python排序算法之歸并排序

    python排序算法之歸并排序

    這篇文章主要介紹了python排序算法之歸并排序,歸并排序算法就是一個(gè)先把數(shù)列拆分為子數(shù)列,對(duì)子數(shù)列進(jìn)行排序后,再把有序的子數(shù)列合并為完整的有序數(shù)列的算法,需要的朋友可以參考下
    2023-04-04
  • python爬蟲(chóng)模塊URL管理器模塊用法解析

    python爬蟲(chóng)模塊URL管理器模塊用法解析

    這篇文章主要介紹了python爬蟲(chóng)模塊URL管理器模塊用法解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-02-02
  • 解決Python中的ModuleNotFoundError:?No?module?named?'paddle'錯(cuò)誤

    解決Python中的ModuleNotFoundError:?No?module?named?'pad

    你是否在嘗試導(dǎo)入`paddle`模塊時(shí)遇到了"ModuleNotFoundError:?No?module?named?'paddle'"這個(gè)錯(cuò)誤?別擔(dān)心,我們的指南會(huì)告訴你如何解決,這就像找到丟失的鑰匙一樣簡(jiǎn)單,讓我們一起來(lái)看看如何解決這個(gè)問(wèn)題吧!
    2024-03-03
  • Python自然語(yǔ)言處理之snownlp模塊介紹、安裝與常見(jiàn)操作實(shí)戰(zhàn)案例

    Python自然語(yǔ)言處理之snownlp模塊介紹、安裝與常見(jiàn)操作實(shí)戰(zhàn)案例

    SnowNLP是一個(gè)針對(duì)中文文本處理的Python庫(kù),提供分詞、詞性標(biāo)注、情感分析等功能,它基于自然語(yǔ)言處理技術(shù),能夠處理unicode編碼的文本,這篇文章主要介紹了Python自然語(yǔ)言處理之snownlp模塊介紹、安裝與常見(jiàn)操作的相關(guān)資料,需要的朋友可以參考下
    2024-11-11
  • 批量獲取及驗(yàn)證HTTP代理的Python腳本

    批量獲取及驗(yàn)證HTTP代理的Python腳本

    這篇文章主要介紹了批量獲取及驗(yàn)證HTTP代理的Python腳本,需要的朋友可以參考下
    2017-04-04
  • Python數(shù)據(jù)結(jié)構(gòu)與算法之列表(鏈表,linked list)簡(jiǎn)單實(shí)現(xiàn)

    Python數(shù)據(jù)結(jié)構(gòu)與算法之列表(鏈表,linked list)簡(jiǎn)單實(shí)現(xiàn)

    這篇文章主要介紹了Python數(shù)據(jù)結(jié)構(gòu)與算法之列表(鏈表,linked list)簡(jiǎn)單實(shí)現(xiàn),具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-10-10

最新評(píng)論

南投市| 岳池县| 什邡市| 永仁县| 会同县| 河津市| 三亚市| 大同县| 县级市| 广灵县| 建瓯市| 庆阳市| 安乡县| 营山县| 青海省| 牙克石市| 乐至县| 通榆县| 曲水县| 集安市| 金寨县| 建水县| 新闻| 宁海县| 义马市| 巫溪县| 库伦旗| 新竹市| 和平县| 萨嘎县| 商都县| 吉木萨尔县| 奎屯市| 会宁县| 庆城县| 拉孜县| 马公市| 冕宁县| 佛冈县| 南通市| 阳城县|