91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python中的文件操作方法有哪些

發布時間:2022-11-25 10:07:48 來源:億速云 閱讀:167 作者:iii 欄目:開發技術

這篇文章主要介紹“Python中的文件操作方法有哪些”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“Python中的文件操作方法有哪些”文章能幫助大家解決問題。

    一、文件的編碼

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

    • UTF-8

    • GBK

    • Big5

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

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

    二、文件的讀取

    2.1 open()打開函數

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

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

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

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

    open(name, mode, encoding)

    例子:

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

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

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

    2.3 讀操作相關方法

    操作匯總

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

    2.3.1 read()方法:

    num表示要從文件中讀取的數據的長度(單位是字節),如果沒有傳入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循環讀取文件行:

    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方法

    案例:通過文件讀取操作,讀取此文件,統計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,內容并未真正寫入文件,而是會積攢在程序的內存中,稱之為緩沖區

    • 當調用flush的時候,內容會真正寫入文件

    • 這樣做是避免頻繁的操作硬盤,導致效率下降(攢一堆,一次性寫磁盤)

    • 文件如果不存在,使用”w”模式,會創建新文件

    • 文件如果存在,使用”w”模式,會將原有內容清空

    例:

    # 1. 打開文件
    f = open('python.txt', 'w')
    
    # 2.文件寫入
    f.write('hello world')
    
    # 3. 內容刷新
    f.flush()

    四、文件的追加

    追加寫入操作快速入門

    注意:

    • a模式,文件不存在會創建文件

    • 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,消費,測試
    林俊節,2022-01-01,300000,收入,正式
    林俊節,2022-01-02,100000,消費,測試
    林俊節,2022-01-03,100000,消費,正式
    林俊節,2022-01-04,100000,消費,測試
    林俊節,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中的文件操作方法有哪些”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。

    向AI問一下細節

    免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    AI

    廊坊市| 平度市| 嘉义市| 鄂伦春自治旗| 余江县| 济宁市| 太白县| 习水县| 梁山县| 香河县| 三亚市| 临泉县| 九龙城区| 夏邑县| 凤冈县| 手机| 新沂市| 萍乡市| 应城市| 新建县| 伊川县| 钦州市| 江津市| 龙门县| 景德镇市| 安乡县| 吴江市| 屯门区| 韩城市| 年辖:市辖区| 巴林右旗| 台安县| 剑川县| 常德市| 景谷| 梁河县| 杨浦区| 碌曲县| 池州市| 镇安县| 沭阳县|