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

Python文本與二進(jìn)制文件讀寫(xiě)操作指南

 更新時(shí)間:2025年12月25日 09:24:47   作者:Sitin濤哥  
文件讀寫(xiě)是編程中的常見(jiàn)操作,Python提供了簡(jiǎn)潔且強(qiáng)大的文件操作接口,本文將詳細(xì)介紹Python中文本文件和二進(jìn)制文件的讀寫(xiě)操作,包括文件打開(kāi)、讀取、寫(xiě)入、關(guān)閉及異常處理等內(nèi)容,需要的朋友可以參考下

引言

文件讀寫(xiě)是編程中的常見(jiàn)操作,Python提供了簡(jiǎn)潔且強(qiáng)大的文件操作接口。本文將詳細(xì)介紹Python中文本文件和二進(jìn)制文件的讀寫(xiě)操作,包括文件打開(kāi)、讀取、寫(xiě)入、關(guān)閉及異常處理等內(nèi)容,并通過(guò)具體示例代碼展示如何高效地處理文件。

文件的基本操作

打開(kāi)文件

在Python中,使用open函數(shù)打開(kāi)文件。open函數(shù)的基本語(yǔ)法如下:

open(filename, mode, encoding=None)
  • filename:要打開(kāi)的文件名。
  • mode:文件打開(kāi)模式,如'r'(讀?。?、'w'(寫(xiě)入)、'a'(追加)等。
  • encoding:文本文件的編碼方式,通常使用'utf-8'

文件模式

常見(jiàn)的文件打開(kāi)模式包括:

  • 'r':只讀模式(默認(rèn))。
  • 'w':寫(xiě)入模式,會(huì)覆蓋文件內(nèi)容。
  • 'a':追加模式,在文件末尾添加內(nèi)容。
  • 'b':二進(jìn)制模式。
  • '+':讀寫(xiě)模式。

文本文件處理

讀取文本文件

逐行讀取

使用readline方法逐行讀取文件內(nèi)容:

with open('example.txt', 'r', encoding='utf-8') as file:
    line = file.readline()
    while line:
        print(line.strip())
        line = file.readline()

讀取整個(gè)文件

使用read方法一次性讀取整個(gè)文件內(nèi)容:

with open('example.txt', 'r', encoding='utf-8') as file:
    content = file.read()
    print(content)

讀取文件的所有行

使用readlines方法讀取文件的所有行,并返回一個(gè)列表:

with open('example.txt', 'r', encoding='utf-8') as file:
    lines = file.readlines()
    for line in lines:
        print(line.strip())

寫(xiě)入文本文件

使用write方法寫(xiě)入文本文件:

with open('output.txt', 'w', encoding='utf-8') as file:
    file.write('這是第一行文本。\n')
    file.write('這是第二行文本。')

追加文本文件

使用append模式在文件末尾追加內(nèi)容:

with open('output.txt', 'a', encoding='utf-8') as file:
    file.write('\n這是追加的一行文本。')

二進(jìn)制文件處理

讀取二進(jìn)制文件

使用rb模式讀取二進(jìn)制文件:

with open('example.bin', 'rb') as file:
    content = file.read()
    print(content)

寫(xiě)入二進(jìn)制文件

使用wb模式寫(xiě)入二進(jìn)制文件:

with open('output.bin', 'wb') as file:
    file.write(b'This is a binary file.')

異常處理

在文件操作過(guò)程中,可能會(huì)遇到一些異常情況,如文件不存在、沒(méi)有權(quán)限等??梢允褂?code>try-except語(yǔ)句進(jìn)行異常處理:

try:
    with open('nonexistent.txt', 'r', encoding='utf-8') as file:
        content = file.read()
except FileNotFoundError:
    print('文件未找到。')
except PermissionError:
    print('沒(méi)有權(quán)限讀取文件。')

實(shí)際應(yīng)用示例

復(fù)制文本文件

def copy_text_file(source, destination):
    try:
        with open(source, 'r', encoding='utf-8') as src_file:
            content = src_file.read()
        with open(destination, 'w', encoding='utf-8') as dest_file:
            dest_file.write(content)
        print(f'文件已成功復(fù)制到 {destination}')
    except Exception as e:
        print(f'復(fù)制文件時(shí)出錯(cuò): {e}')

copy_text_file('example.txt', 'example_copy.txt')

復(fù)制二進(jìn)制文件

def copy_binary_file(source, destination):
    try:
        with open(source, 'rb') as src_file:
            content = src_file.read()
        with open(destination, 'wb') as dest_file:
            dest_file.write(content)
        print(f'文件已成功復(fù)制到 {destination}')
    except Exception as e:
        print(f'復(fù)制文件時(shí)出錯(cuò): {e}')

copy_binary_file('example.bin', 'example_copy.bin')

統(tǒng)計(jì)文本文件的行數(shù)、單詞數(shù)和字符數(shù)

def file_statistics(filename):
    try:
        with open(filename, 'r', encoding='utf-8') as file:
            lines = file.readlines()
        line_count = len(lines)
        word_count = sum(len(line.split()) for line in lines)
        char_count = sum(len(line) for line in lines)
        print(f'行數(shù): {line_count}, 單詞數(shù): {word_count}, 字符數(shù): {char_count}')
    except Exception as e:
        print(f'統(tǒng)計(jì)文件時(shí)出錯(cuò): {e}')

file_statistics('example.txt')

使用JSON文件

JSON是一種常用的輕量級(jí)數(shù)據(jù)交換格式。在Python中,可以使用json模塊讀寫(xiě)JSON文件。

讀取JSON文件

import json

def read_json(filename):
    try:
        with open(filename, 'r', encoding='utf-8') as file:
            data = json.load(file)
        return data
    except Exception as e:
        print(f'讀取JSON文件時(shí)出錯(cuò): {e}')
        return None

data = read_json('data.json')
print(data)

寫(xiě)入JSON文件

import json

def write_json(data, filename):
    try:
        with open(filename, 'w', encoding='utf-8') as file:
            json.dump(data, file, ensure_ascii=False, indent=4)
        print(f'數(shù)據(jù)已寫(xiě)入到 {filename}')
    except Exception as e:
        print(f'寫(xiě)入JSON文件時(shí)出錯(cuò): {e}')

data = {'name': 'Alice', 'age': 25, 'city': 'New York'}
write_json(data, 'data.json')

總結(jié)

本文詳細(xì)介紹了Python中文本文件和二進(jìn)制文件的讀寫(xiě)操作,包括文件的打開(kāi)、讀取、寫(xiě)入、追加和關(guān)閉等基本操作,同時(shí)講解了如何進(jìn)行異常處理。通過(guò)具體的示例代碼,展示了如何高效地處理文件,例如逐行讀取文件、寫(xiě)入文件、復(fù)制文件、統(tǒng)計(jì)文件信息以及處理JSON文件等實(shí)際應(yīng)用場(chǎng)景。掌握這些文件操作技巧,能夠幫助大家在Python編程中更加靈活地處理各種文件,提高代碼的可讀性和可維護(hù)性。

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

相關(guān)文章

  • 一篇文章帶你了解python字典基礎(chǔ)

    一篇文章帶你了解python字典基礎(chǔ)

    這篇文章主要介紹了Python字典及字典基本操作方法,結(jié)合實(shí)例形式詳細(xì)分析了Python字典的概念、創(chuàng)建、格式化及常用操作方法與相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2021-08-08
  • conda虛擬環(huán)境默認(rèn)路徑的修改方法

    conda虛擬環(huán)境默認(rèn)路徑的修改方法

    最近發(fā)現(xiàn)我linux系統(tǒng)中的/dev/root目錄利用率占用了100%,這對(duì)后面文件的操作帶來(lái)了一些麻煩,下面這篇文章主要給大家介紹了關(guān)于conda虛擬環(huán)境默認(rèn)路徑的修改方法,需要的朋友可以參考下
    2022-07-07
  • 實(shí)現(xiàn)python版本的按任意鍵繼續(xù)/退出

    實(shí)現(xiàn)python版本的按任意鍵繼續(xù)/退出

    本文給大家簡(jiǎn)單介紹了在windows以及l(fā)inux下實(shí)現(xiàn)python版本的按任意鍵繼續(xù)/退出功能,非常的簡(jiǎn)單實(shí)用,linux下稍微復(fù)雜些,有需要的小伙伴可以參考下
    2016-09-09
  • 通過(guò)Python的speech_recognition庫(kù)將音頻文件轉(zhuǎn)為文字

    通過(guò)Python的speech_recognition庫(kù)將音頻文件轉(zhuǎn)為文字

    recognize_google()?是Google提供的一種語(yǔ)音識(shí)別API,可以識(shí)別音頻文件或麥克風(fēng)錄制的語(yǔ)音,并將其轉(zhuǎn)換為文本,這篇文章主要介紹了通過(guò)Python的speech_recognition庫(kù)將音頻文件轉(zhuǎn)為文字,需要的朋友可以參考下
    2023-05-05
  • Pandas數(shù)據(jù)如何讀取與導(dǎo)出

    Pandas數(shù)據(jù)如何讀取與導(dǎo)出

    Pandas是一個(gè)強(qiáng)大的Python庫(kù),用于數(shù)據(jù)處理和分析,它提供了多種文件格式的數(shù)據(jù)讀取和導(dǎo)出方法,包括CSV、Excel、SQL數(shù)據(jù)庫(kù)、JSON等,常用的數(shù)據(jù)讀取方法為`pd.read_csv()`、`pd.read_excel()`等,導(dǎo)出方法為`to_csv()`、`to_excel()`等
    2025-01-01
  • Python+PuLP實(shí)現(xiàn)線性規(guī)劃的求解

    Python+PuLP實(shí)現(xiàn)線性規(guī)劃的求解

    線性規(guī)劃(Linear?programming),在線性等式或不等式約束條件下求解線性目標(biāo)函數(shù)的極值問(wèn)題,常用于解決資源分配、生產(chǎn)調(diào)度和混合問(wèn)題。本文將利用PuLP實(shí)現(xiàn)線性規(guī)劃的求解,需要的可以參考一下
    2022-04-04
  • Python SQLAlchemy入門(mén)教程(基本用法)

    Python SQLAlchemy入門(mén)教程(基本用法)

    這篇文章主要介紹了Python SQLAlchemy入門(mén)教程,本文通過(guò)實(shí)例主要給大家講解了python SQLAlchemy基本用法,需要的朋友可以參考下
    2019-11-11
  • 人工智能學(xué)習(xí)Pytorch數(shù)據(jù)集分割及動(dòng)量示例詳解

    人工智能學(xué)習(xí)Pytorch數(shù)據(jù)集分割及動(dòng)量示例詳解

    這篇文章主要為大家介紹了人工智能學(xué)習(xí)Pytorch數(shù)據(jù)集分割及動(dòng)量示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步
    2021-11-11
  • Python爬蟲(chóng)模擬登陸嗶哩嗶哩(bilibili)并突破點(diǎn)選驗(yàn)證碼功能

    Python爬蟲(chóng)模擬登陸嗶哩嗶哩(bilibili)并突破點(diǎn)選驗(yàn)證碼功能

    這篇文章主要介紹了Python爬蟲(chóng)模擬登陸嗶哩嗶哩(bilibili)并突破點(diǎn)選驗(yàn)證碼功能,本文通過(guò)圖文實(shí)例相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-12-12
  • Pandas.DataFrame重置列的行名實(shí)現(xiàn)(set_index)

    Pandas.DataFrame重置列的行名實(shí)現(xiàn)(set_index)

    本文主要介紹了Pandas.DataFrame重置列的行名實(shí)現(xiàn)(set_index),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02

最新評(píng)論

邳州市| 新津县| 云浮市| 和硕县| 泸水县| 剑河县| 名山县| 景德镇市| 青铜峡市| 峡江县| 久治县| 邹平县| 临江市| 齐齐哈尔市| 明溪县| 修文县| 长子县| 竹溪县| 连云港市| 搜索| 阜康市| 修武县| 广昌县| 凉城县| 田林县| 洞口县| 延安市| 尼勒克县| 平邑县| 昌平区| 巴马| 岳普湖县| 清涧县| 云安县| 崇义县| 昌图县| 彭阳县| 冀州市| 南安市| 赤峰市| 新闻|