欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

一文帶你搞懂Python中的文件操作

 更新時間:2022年11月24日 17:02:31   作者:玲小叮當  
這篇文章主要為大家詳細介紹了Python中常見的文件操作的相關資料,文中的示例代碼講解詳細,對我們學習Python有一定的幫助,感興趣的可以了解一下

一、文件的編碼

計算機中有許多可用編碼:

  • UTF-8
  • GBK
  • Big5

UTF-8是目前全球通用的編碼格式

除非有特殊需求,否則,一律以UTF-8格式進行文件編碼即可。

二、文件的讀取

2.1 open()打開函數

注意:此時的fopen函數的文件對象,對象是Python中一種特殊的數據類型,擁有屬性和方法,可以使用對象.屬性或對象.方法對其進行訪問,后續(xù)面向對象課程會給大家進行詳細的介紹。

name:是要打開的目標文件名的字符串(可以包含文件所在的具體路徑)。

mode:設置打開文件的模式(訪問模式):只讀、寫入、追加等。

encoding:編碼格式(推薦使用UTF-8)

open(name, mode, encoding)

例子:

f = open('./test.txt', 'r', encoding='utf-8')

2.2 mode常用的三種基礎訪問模式

模式描述
f以只讀方式打開文件。文件的指針將會放在文件的開頭。這是默認模式。
w打開一個文件只用于寫入。如果該文件已存在則打開文件,并從開頭開始編輯,原有內容會被刪除 。如果該文件不存在,創(chuàng)建新文件。
a打開一個文件用于追加。如果該文件已存在,新的內容將會被寫入到已有內容之后。
如果該文件不存在,創(chuàng)建新文件進行寫入。

2.3 讀操作相關方法

操作匯總

操作功能
文件對象 = open(file, mode, encoding)打開文件獲得文件對象
文件對象.read(num)讀取指定長度字節(jié)<br/>不指定num讀取文件全部
文件對象.readline()讀取一行
文件對象.readlines()讀取全部行,得到列表
for line in 文件對象for循環(huán)文件行,一次循環(huán)得到一行數據
文件對象.close()關閉文件對象
with open() as f通過with open語法打開文件,可以自動關閉

2.3.1 read()方法:

num表示要從文件中讀取的數據的長度(單位是字節(jié)),如果沒有傳入num,那么就表示讀取文件中所有的數據。

文件對象.read(num)

2.3.2 readlines()方法

readlines可以按照行的方式把整個文件中的內容進行一次性讀取,并且返回的是一個列表,其中每一行的數據為一個元素。

f = open('python.txt')
content = f.readlines()

# ['hello world\n', 'abcdefg\n', 'aaa\n', 'bbb\n', 'ccc']
print(content)

# 關閉文件
f.close()

例:

readline()方法:一次讀取一行內容

f = open('python.txt')

content = f.readline()
print(f'第一行:{content}')

content = f.readline()
print(f'第二行:{content}')

# 關閉文件
f.close()

for循環(huán)讀取文件行:

for line in open("python.txt", "r"):
    print(line)

# 每一個line臨時變量,就記錄了文件的一行數據

2.3.3 close() 關閉文件對象

f = open("python.txt", "r")

f.close()

# 最后通過close,關閉文件對象,也就是關閉對文件的占用
# 如果不調用close,同時程序沒有停止運行,那么這個文件將一直被Python程序占用。

2.3.4 with open 語法

with open("python.txt", "r") as f:
    f.readlines()

# 通過在with open的語句塊中對文件進行操作
# 可以在操作完成后自動關閉close文件,避免遺忘掉close方法

案例:通過文件讀取操作,讀取此文件,統(tǒng)計itheima單詞出現的次數

itheima python itcast
beijing shanghai itheima
shenzhen guangzhou itheima
wuhan hangzhou itheima
zhengzhou bigdata itheima

index = 0
with open('./test.txt', 'r', encoding='utf-8') as f:
    for line in f:
        line = line.strip()
        # print(line)
        str = line.split(' ')
        print(str)
        for val in str:
            if val == 'it':
                index += 1

print(f'index:{index}')

三、文件的寫入

寫操作快速入門

注意:

直接調用write,內容并未真正寫入文件,而是會積攢在程序的內存中,稱之為緩沖區(qū)

  • 當調用flush的時候,內容會真正寫入文件
  • 這樣做是避免頻繁的操作硬盤,導致效率下降(攢一堆,一次性寫磁盤)
  • 文件如果不存在,使用”w”模式,會創(chuàng)建新文件
  • 文件如果存在,使用”w”模式,會將原有內容清空

例:

# 1. 打開文件
f = open('python.txt', 'w')

# 2.文件寫入
f.write('hello world')

# 3. 內容刷新
f.flush()

四、文件的追加

追加寫入操作快速入門

注意:

  • a模式,文件不存在會創(chuàng)建文件
  • a模式,文件存在會在最后,追加寫入文件

案例演示:

# 1. 打開文件,通過a模式打開即可
f = open('python.txt', 'a')

# 2.文件寫入
f.write('hello world')

# 3. 內容刷新
f.flush()

五、文件操作綜合案例

完成文件備份案例:

bill.txt

name,date,money,type,remarks
周杰輪,2022-01-01,100000,消費,正式
周杰輪,2022-01-02,300000,收入,正式
周杰輪,2022-01-03,100000,消費,測試
林俊節(jié),2022-01-01,300000,收入,正式
林俊節(jié),2022-01-02,100000,消費,測試
林俊節(jié),2022-01-03,100000,消費,正式
林俊節(jié),2022-01-04,100000,消費,測試
林俊節(jié),2022-01-05,500000,收入,正式
張學油,2022-01-01,100000,消費,正式
張學油,2022-01-02,500000,收入,正式
張學油,2022-01-03,900000,收入,測試
王力鴻,2022-01-01,500000,消費,正式
王力鴻,2022-01-02,300000,消費,測試
王力鴻,2022-01-03,950000,收入,正式
劉德滑,2022-01-01,300000,消費,測試
劉德滑,2022-01-02,100000,消費,正式
劉德滑,2022-01-03,300000,消費,正式
f2 = open('bill.txt.bak', 'a', encoding="utf-8")
with open('bill', 'r', encoding="UTF-8") as f:
    for line in f:
        line = line.strip()
        str = line.split(',')
        if str[4] == '測試':
            continue
        else:
            f2.write(f'{line}\n')

f2.close()

到此這篇關于一文帶你搞懂Python中的文件操作的文章就介紹到這了,更多相關Python文件操作內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 如何寫好?Python?的?Lambda?函數

    如何寫好?Python?的?Lambda?函數

    這篇文章主要介紹了如何寫好?Python?的?Lambda?函數,Lambda?函數是?Python?中的匿名函數,下面文章通過介紹Lambda?函數的相關內容展開文章主題,需要的小伙伴可以參考一下
    2022-03-03
  • Python flask框架定時任務apscheduler應用介紹

    Python flask框架定時任務apscheduler應用介紹

    Flask是Python社區(qū)非常流行的一個Web開發(fā)框架,本文將嘗試將介紹APScheduler應用于Flask之中實現定時任務,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習吧
    2022-10-10
  • 解決Scrapy安裝錯誤:Microsoft Visual C++ 14.0 is required...

    解決Scrapy安裝錯誤:Microsoft Visual C++ 14.0 is required...

    下面小編就為大家?guī)硪黄鉀QScrapy安裝錯誤:Microsoft Visual C++ 14.0 is required...的問題。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-10-10
  • 使用Pytorch訓練two-head網絡的操作

    使用Pytorch訓練two-head網絡的操作

    這篇文章主要介紹了使用Pytorch訓練two-head網絡的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • Python?return函數返回值類型和幫助函數使用教程

    Python?return函數返回值類型和幫助函數使用教程

    這篇文章主要為大家介紹了Python?return函數返回值類型和幫助函數使用教程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-06-06
  • 關于pycharm?python3.7成功安裝dlib庫的問題

    關于pycharm?python3.7成功安裝dlib庫的問題

    這篇文章主要介紹了pycharm?python3.7成功安裝dlib庫的解決方法,本文分步驟給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-12-12
  • Python機器學習NLP自然語言處理基本操作關鍵詞

    Python機器學習NLP自然語言處理基本操作關鍵詞

    本文是Python機器學習NLP自然語言處理系列文章,帶大家開啟一段學習自然語言處理 (NLP) 的旅程. 本文主要學習NLP自然語言處理關鍵詞的操作
    2021-09-09
  • Python實現決策樹C4.5算法的示例

    Python實現決策樹C4.5算法的示例

    本篇文章主要介紹了Python實現決策樹C4.5算法的示例,詳解的介紹了決策樹C4.5算法的原理和實現代碼,非常具有實用價值,需要的朋友可以參考下
    2018-05-05
  • Python中的默認參數詳解

    Python中的默認參數詳解

    這篇文章主要介紹了Python中的默認參數詳解,本文講解了默認參數的基本原理、如何正確地使用可變參數等內容,需要的朋友可以參考下
    2015-06-06
  • Python實現運行其他程序的四種方式實例分析

    Python實現運行其他程序的四種方式實例分析

    這篇文章主要介紹了Python實現運行其他程序的四種方式,結合實例形式分析了Python執(zhí)行其他程序相關模塊與函數使用技巧,需要的朋友可以參考下
    2017-08-08

最新評論