Python?文件處理之open()函數(shù)
前言:
文件處理是任何 Web 應用程序的重要組成部分。
Python 有幾個用于創(chuàng)建、讀取、更新和刪除文件的函數(shù)。
1.文件處理
在 Python 中使用文件的關鍵函數(shù)是 open() 函數(shù)。
有四種打開文件的不同方法(模式):
- "r" - 讀取 - 默認值。打開文件進行讀取,如果文件不存在則報錯。
- "a" - 追加 - 打開供追加的文件,如果不存在則創(chuàng)建該文件。
- "w" - 寫入 - 打開文件進行寫入,如果文件不存在則創(chuàng)建該文件。
- "x" - 創(chuàng)建 - 創(chuàng)建指定的文件,如果文件存在則返回錯誤。
此外,您可以指定文件是應該作為二進制還是文本模式進行處理。
- "t" - 文本 - 默認值。文本模式。
- "b" - 二進制 - 二進制模式(例如圖像)。
open() 函數(shù)有兩個參數(shù):文件名和模式。
open()函數(shù) 語法格式:
f=open("a.txt","r") #以只讀的方式打開a.txt文件,并創(chuàng)建一個文件對象f。
這里的f等于以只讀的方式打開的a.txt文件
read()函數(shù) 括號里可以輸入想讀取文件字符的數(shù)量,括號里沒有參數(shù)則默認讀取該文件全部內(nèi)容
print(f.read()) ? ?#讀取文件全部內(nèi)容 print(f.read(6)) ? ?#讀取文件前6個字符
readline()函數(shù) 讀取一行文件的內(nèi)容:
print(f.readline()) ? ?#讀取第一行內(nèi)容 ? #若只想讀取前兩行內(nèi)容,則可以這樣寫: print(f.readline()) print(f.readline())? ? ? """依次讀取一行內(nèi)容,已經(jīng)讀取的內(nèi)容不會重復讀取,所以寫兩遍就可以讀取兩行內(nèi)容。"""
close()函數(shù) 關閉文件:
既然有open()打開文件,那就有close()關閉文件
把緩沖區(qū)的內(nèi)容寫入文件,同時關閉文件,釋放文件對象相關資源
打開了文件后,完成對文件的編輯和使用就close關閉文件
#close()函數(shù)使用方法:
?
f=open("a.txt","r") ? ? #打開文件
print(f.read(5)) ? ? ? ?#讀取前五個字符
print(f.readline()) ? ? #然后再讀取一行字符
f.close() ? ? ? ? ? ?#完成對文件的使用后關閉文件2.Python 文件寫入
寫入已有文件:
如需寫入已有的文件,必須向 open() 函數(shù)添加參數(shù):
- "a" - 追加 - 會追加到文件的末尾
- "w" - 寫入 - 會覆蓋任何已有的內(nèi)容
打開文件 "a.txt" 并將內(nèi)容追加到文件中
f=open("a.txt","a") ? ?#以"a"追加寫入的方式打開文件
f.write("Hello python!") ? #以"a"的方式打開的文件寫入內(nèi)容時,會將內(nèi)容追加在之前內(nèi)容的末尾。
f.close() ? ? #將緩沖區(qū)的內(nèi)容寫入到文件中,寫完內(nèi)容后關閉文件。
?
"""每次運行都會在文件末尾追加Hello python,運行三次后,就會有三句Hello python"""打開文件 "a.txt" 并覆蓋內(nèi)容
f=open("a.txt","w") ? ? ?#以"w"寫入的方式打開a.txt文件
f.write("Hello python!") ? ?以"w"方式打開的文件,每次寫入內(nèi)容都會覆蓋之前的內(nèi)容。所以不管運行多少次,文件里只有Hello python!f.close() 把緩沖區(qū)的內(nèi)容寫入文件,并關閉文件。釋放文件對象的相關資源。
每次寫入完內(nèi)容后建議關閉一下文件,因為文件不一定會立馬保存進文件,而是存在緩沖區(qū)。
使用close() 函數(shù)關閉文件時,會將緩沖區(qū)的內(nèi)容寫入文件。
注意:"w"方法會覆蓋全部內(nèi)容。
3.創(chuàng)建新文件
如果需要在python中創(chuàng)建新文件,則使用open()方法,并使用以下方法:
- "x" 創(chuàng)建 -將創(chuàng)建一個文件,如果文件存在則返回錯誤
- "a" 追加 -如果指定文件不存在,將創(chuàng)建一個文件
- "w" 寫入 -如果指定的文件不存在,將創(chuàng)建一個文件
實例:
創(chuàng)建名為"b.txt"的文件:
f=open("b.txt","x") ? ? ? #創(chuàng)建并打開b.txt文件
?
#如果文件已存在則報錯顯示文件以存在:
?
FileExistsError: [Errno 17] File exists: '海龜編程test1.py'
?
#如果不存在,則創(chuàng)建新文件。4.刪除文件
如果需要刪除文件,必須導入OS模塊,并運行其os.remove()函數(shù):
#刪除b.txt文件
import os ? ?#導入os模塊
os.remove("b.txt") ? ? #使用os.remove("文件名") 函數(shù)刪除文件。檢查文件是否存在:
為避免出現(xiàn)錯誤,您可能需要在嘗試刪除文件之前檢查該文件是否存在:
實例
檢查文件是否存在,然后刪除它:
import os
if os.path.exists("d.txt"):
? os.remove("d.txt")
else:
? print("The file does not exist")刪除文件夾
如需刪除整個文件夾,請使用 os.rmdir() 方法:
import os?
os rmdir("b.txt") ? ? # 刪除整個文件夾注意:只能刪除空文件夾
到此這篇關于Python 文件處理之open()函數(shù)的文章就介紹到這了,更多相關Python open()函數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Python的Django框架中的數(shù)據(jù)庫配置指南
這篇文章主要介紹了Python的Django框架中的數(shù)據(jù)庫配置指南,文中舉了Python內(nèi)置的SQLite的示例,需要的朋友可以參考下2015-07-07
Python?NumPy教程之數(shù)據(jù)類型對象詳解
每個?ndarray?都有一個關聯(lián)的數(shù)據(jù)類型?(dtype)?對象。這個數(shù)據(jù)類型對象(dtype)告訴我們數(shù)組的布局。本文將通過示例詳細講講NumPy的數(shù)據(jù)類型對象,需要的可以參考一下2022-08-08
回歸預測分析python數(shù)據(jù)化運營線性回歸總結
本文主要介紹了python數(shù)據(jù)化運營中的線性回歸一般應用場景,常用方法,回歸實現(xiàn),回歸評估指標,效果可視化等,并采用了回歸預測分析的數(shù)據(jù)預測方法2021-08-08

