tft每日頭條

 > 科技

 > python創建文件的三種方法

python創建文件的三種方法

科技 更新时间:2024-11-29 10:54:13

一、前言

  • 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

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

    ,

    更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

    查看全部

    相关科技资讯推荐

    热门科技资讯推荐

    网友关注

    Copyright 2023-2024 - www.tftnews.com All Rights Reserved