Python內建十大檔案操作

WBOY
發布: 2023-04-12 23:01:08
轉載
1791 人瀏覽過

Python內建十大檔案操作

日常對於批次處理檔案的需求非常多,經常需要用Python寫腳本呼叫外部檔案!

本次整理Python中最常用的十大文件操作方法,直接拿來用就行啦!

1、建立和開啟檔案

想要操作檔案需要先建立或代開指定檔案並建立檔案對象,用open()方法實現,其語法格式如下:

file=open(filename[, mode[, buffering]])
登入後複製

參數說明

  •  file:已建立的檔案物件
  •  filename:要建立或開啟的檔案名稱,需使用單引號會雙引號括起來。如果要開啟的檔案和目前檔案在同一目錄,直接寫入檔案名稱即可;否則,指定完整路徑。
  •  mode:可選參數,用於指定開啟模式,預設為唯讀(即r)
  •  buffering:可選參數,用於指定讀寫檔案的快取模式,值為0表示不緩存,值為1表示緩存;如果大於1,則表示緩衝區的大小。預設快取模式。

預設情況下,開啟一個不存在的文件,會顯示異常。

Python內建十大檔案操作

解決方法:

  •  目前目錄下(執行檔相同的目錄)建立一個test.txt檔案
  •  調用open()方法時,指定mode參數值為w、w 、a、a ,若不存在,則建立。

不同模式開啟完全說明。

Python內建十大檔案操作

注意:開啟檔案預設採用GBK編碼,當被開啟檔案不是GBK編碼時,可能會顯示異常。解決方案:1、直接修改文件的編碼2、在開啟檔案時,直接指定使用的編碼方式(建議)。

file=open('test.txt','r',encoding='utf-8')
登入後複製

2、關閉檔案

開啟檔案後,需要及時關閉,以免佔用資源,使用close()方法實作。

file.close()
登入後複製

附註:使用close()方法時會先刷新緩衝區還沒有寫入的信息,然後再關閉檔案。

3、開啟檔案使用with語句

開啟檔案需要及時關閉,如果忘記關閉可能發生意想不到的問題。另外,如果在開啟文件時顯示異常,那麼將導致文件無法及時關閉。為避免此類問題,可以使用Python提供的with語句,無論是否顯示異常,都能確保with語句執行完畢後關閉已開啟的檔案。基本語法如下:

with expression as target:
 with-body
登入後複製

參數說明:

  • #  expression:指定表達式,可以是開啟檔案的open()方法。
  •  target:用於指定一個變量,將expression的結果儲存到該變數中。
  •  with-body:用來指定with語句體,可以是執行with語句後相關的一些操作語句,也可以直接pass。

with open('test.txt','w') as file
pass
登入後複製

4、寫入檔案內容

Python檔案物件提供write()方法,向檔案中寫入內容。

file.write(str)
登入後複製

其中,file為開啟的檔案物件;str為要寫入的字串。注意,寫入前提有寫入權限,指定開啟模式為w(可寫)或a(可追加)

#使用open()函數,將模式改為w或a開啟檔案來建立檔案對象。 w模式下會覆蓋舊數據寫入新數據,a模式下可在原有數據基礎上增加新數據。

5、讀取資料

開啟檔案後,除了寫入或追加內容,還有讀取檔案內容。需要知道檔案開啟模式為r(讀)或r (讀寫)主要有以下3種情況:

  • 讀取指定個數字符
  • file.read([size])-其中,size為選用參數,若省略,則一次讀取所有內容。
  • 讀取一行
  • file.readline()-每次讀取一行數據,檔案很大時,採用逐行讀取。
  • 讀取所有行
  • file.readlines()-傳回字串列表,每個元素為檔案的一行內容。

with open('text.txt','r+',encoding='utf-8') as file:
print("读取前4个字符串")
print(file.read(4))
print("读取一行")
print(file.readline())
print("读取所有行")
print(file.readlines())
登入後複製

註:如果想要讀取部分內容,可以先使用檔案物件seek()方法將檔案指標移到新的位置,然後再用read()方法獲取。

file.seek(offset[,whence]).其中,offset參數用於指定移動的字串個數,按一個漢字佔兩個字元;whence值為0表示從檔案頭開始計算, 1表示從目前位置開始計算,2表示從檔案尾開始計算,預設0.

6、複製檔案

Python複製檔案需要使用shutil模組的copyfile()方法。

#
shutil.copyfile(src,dst)
登入後複製

其中,src:要复制的源文件;dst:复制到的目标文件。

7、移动文件

Python移动文件需要使用shutil模块的move()方法。

shutil.move(src,dst)
登入後複製

其中,src:要移动的源文件;dst:移动到的目标文件。

8、重命名文件

Python重命名文件需要使用os模块的rename()方法。

os.rename(src,dst)
登入後複製

其中,src:指定要重命名的源文件;dst:指定重命名后文件。为确保正常执行,可以使用os.path模块的exists()方法判断要操作的文件是否存在。

9、删除文件

Python中删除文件需要使用os模块的remove()方法。

os.remove(path)
登入後複製

其中,path:指定要删除的文件路径,相对路径或绝对路径。

10、获取文件基本信息

文件本身包含一些信息,如文件最后一次访问时间、最后一次修改时间、文件大小等基本信息。通过os模块的stat()方法获取。

os.stat(path)
登入後複製

以上就是Python内置的十大常用的文件操作方法。

以上是Python內建十大檔案操作的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:51cto.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板