首页
/
每日頭條
/
科技
/
python創建文件的三種方法
python創建文件的三種方法
更新时间:2024-10-21 01:18:53

一、前言

  • Python對文件的操作是相當簡單的。

二、文件操作函數的介紹

  • Python 通過open函數來打開文件,語法如下

open(file, mode=‘r’, buffering=None, encoding=None, errors=None, newline=None, closefd=True)

  • 可以看到,除了第一個file參數是必須的,其它都是可選的。

  • 1、file:操作的文件

  • 2、mode:操作模式,默認為’r’,表示讀模式。其它模式為

‘r’:讀模式

‘w’:寫模式

‘a’:追加模式

‘b’:二進制模式(可添加到其它模式中使用,如rb表示二進制讀,一般用來讀一些視頻或者音頻文件)

‘ ’:讀/寫模式(可添加到其它模式中使用,如r 表示可讀寫)

  • 3、buffering:是否有緩沖,默認是無緩沖,如果傳0或者False也是無緩沖,如果傳1或者True默認是有緩沖。使用緩沖的好處是提高程序的執行速度,但是使用緩沖的話需要注意:一定要執行flush或者close時緩沖中的數據才會同步到硬盤上。如果傳遞大于1,如1024則代碼緩沖的大小,表示1M。

  • 4、encoding:指明對文件編碼,僅适用于文本文件。如果不明編碼方式,默認是使用locale.getpreferredencoding()函數返回的編碼方式。

  • 5、errors:指明編碼和解碼錯誤時怎麼樣處理。不能在二進制的模式下使用。

1、設置’strict’則編碼出錯則抛出異常ValueError。

  • 6、newline:在文本模式之下時,控制一行的結束字符。可以是None,’’,\n,\r,\r\n等。

  • 7、closefd:是用來當給一個文件句柄傳進來時,而當退出文件使用時,而不對文件句柄進行關閉。如果傳遞一個文件名進來,這個參數無效,必定為True方式。

  • 三、使用方法

    • 我們通過編寫demo來學習文件的操作方法。

    • 如下,如果my_file.txt不存在,會自動創建,模式為寫模式

    python創建文件的三種方法(Python文件操作學習就是這麼簡單)1

    • 執行完上面代碼之後,你應該會發現當前目錄下多出了一個my_file.txt文件。

    • 如果我們的mode保持默認的操作模式,默認為讀,那麼程序就會報錯,修改代碼如下

    python創建文件的三種方法(Python文件操作學習就是這麼簡單)2

    • 執行時你會發現,程序報錯了,所以如果要寫數據到文件記得要修改操作模式哦。

    • 我們也可以直接寫入一個數據集合

    python創建文件的三種方法(Python文件操作學習就是這麼簡單)3

    • 當然,我們還可以随自己所想,如果文件中已存在内容,我們可以指定從哪點開始寫

    python創建文件的三種方法(Python文件操作學習就是這麼簡單)4

    • 執行結果為:hexxxxxxxx! 你會發現,确實是從第2個開始寫xxxxxxxx

    • OK,我們看一下如何讀文件中的數據,file對象提供了三個方法進行讀操作

    1、read : 每次讀取整個文件,通常将文件内容讀取出來存放到一個字符串變量中。對于過大的文件則會出現問題

    2、readline :每次隻讀取一行。

    3、readlines :每次讀取整個文件,讀取後自動将文件内容分析成一個行的列表,該列表可以由 for… in … 進行遍曆處理。

    - 三個方法都可以傳入一個變量控制每次讀取的數據量。如:假設以字符模式讀取read(4)表示讀前4個字符數據。

    - 示例代碼如下

    python創建文件的三種方法(Python文件操作學習就是這麼簡單)5

    • 輸出如下:

    python創建文件的三種方法(Python文件操作學習就是這麼簡單)6

    • 因為内容隻有一行,所以f.read()和f.readline()讀到的數據是一樣的。而f.readlines()則返回一個列表類型的結果。

    • 一般情況下,小文件可以優先考慮使用read和readlines,因為一次性讀取文件,性能會好一些,當然是在文件不大, 内存足夠的情況下,如果是大文件隻能使用readline一行一行來了。

    讀取大文件推薦方法

    • 1、讀取大文件是,可以使用fileinput模塊,其已包含了打開文件的函數,我們隻需要傳遞文件名給它就可以了

    • 示例代碼:

    python創建文件的三種方法(Python文件操作學習就是這麼簡單)7

    • 喜歡就給我點贊哦,有好的建議或者其它問題都可以留言相互讨論學習哦!

    ,
    Comments
    Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
    Sign up to post
    Sort by
    Show More Comments
    推荐阅读
    手語的正确打開方式
    手語的正确打開方式
    中國現在約有2700萬聽力障礙的殘疾人,他們中的一些人因聽不清或聽不到,隻能靠畫面獲得新聞信息。你可能也見過聾人朋友這樣「手舞足蹈,眉飛色舞」的場景。手語在打什麼,又有什麼規則?像你學習其他語言一樣,手語其實也有單詞書:2019年正式出版的...
    2024-10-21
    手機怎麼下載到u盤
    手機怎麼下載到u盤
    手機怎麼下載到u盤?首先需要準備好OTG轉換器和U盤然後再将U盤和OTG轉換器連接上,然後連接手機,今天小編就來聊一聊關于手機怎麼下載到u盤?接下來我們就一起去研究一下吧!手機怎麼下載到u盤首先需要準備好OTG轉換器和U盤。然後再将U盤和O...
    2024-10-21
    電腦上軟件開機自啟動怎麼設置
    電腦上軟件開機自啟動怎麼設置
    電腦從啟動到進入操作系統最終啟動完成,有很多個過程,不管是正常程序,還是病毒程序,他們隻有在系統進入到最後桌面的狀況下,程序還保持在運行,才能發揮作用。舉一個通俗的例子,看一場球賽,或者演唱會,不管你是為了看演出,還是要制造破壞,你需要最終...
    2024-10-21
    如何查詢手機流量
    如何查詢手機流量
    如何查詢手機流量?手機流量怎麼查詢,首先是針對移動用戶對于移動用戶來說,那麼可以說查詢流量的方法也是比較多,首先我們可以直接撥打電話1008611來查詢流量使用情況撥打了之後系統就會發送給我們一條套餐業務的詳細的使用情況的短信到我們的手機,...
    2024-10-21
    日本mv網站有哪些
    日本mv網站有哪些
    日本mv網站有哪些?AcFun彈幕視頻網、哔哩哔哩視頻、Tucao動漫等,現在哔哩哔哩視頻雖然都有一些上傳了韓劇和泡菜音樂,不過還是日音占主導地位acfun彈幕視頻網和tucao動漫的小學生少,基本是ACG的東西,建議去這2個網站,現在小編...
    2024-10-21
    Copyright 2023-2024 - www.tftnews.com All Rights Reserved