python常用檔案操作方法整理

2021-07-25 05:23:10 字數 3705 閱讀 5038

內容參考自《python變成快速上手》

首先明確一點,windows的路徑在python中寫為(『c:\users\***』);mac os和linux則寫成(『usr/bin/***』)。

此處需要用到os模組

1、os.path()

①os.path.join()

如果想要程式執行在不同的作業系統時,對檔案路徑的處理可以使用該方法

>>>os.path.join('***','xx')

'***\\xx'

#windows上執行時

或'***/xx'

#linux上執行時

②os.path.dirname()

獲得路徑中最後乙個斜槓前的內容

>>>os.path.dirname('c:\\windows\\***.txt')

c:\\windows\\

③os.path.basename()

與上互相不同,返回最後乙個斜槓後的內容

>>>os.path.basename('c:\\windows\\***.txt')

***.txt

④os.path.getsize()

獲得檔案大小

>>>os.path.getsize('c:\\windows\\***.txt')

123456

⑤os.path.exists()

檢測指定路徑是否存在,可以是資料夾或者檔案

>>>os.path.exists('c:\\windows')

true

⑥os.path.isdir()

檢測指定檔案是否存在

⑦os.path.isfile()

檢測指定資料夾是否存在

2、os.getcwd()

獲得當前工作目錄的字串

>>>os.getcwd()

'c:\\windows'

3、os.chdir()

改變當前工作目錄

>>>os.chdir('c:\\')

'c:\\'

若當前資料夾不存在,則會報錯,而不會新建乙個目錄

4、os.makedirs()

建立新資料夾

os.makedirs('c:\\***\\xx\\x')
若不存在***或者xx,則自動建立

5、os.listdir()

列出指定目錄下包含的檔案

>>>os.path.listdir('c:\\windows')

['addins','py.exe'....]

6、open()

開啟乙個檔案,此開啟應該說是和平常操作的『選定』乙個概念,而非『雙擊開啟』,第二個引數可以指定開啟的模式,是以『a』新增模式,或者『w』寫入模式等等,模式的應用會在write()方法中用到

>>>testfile = open('c:\\***.txt','w')
7、read()

讀取檔案內容

>>>testfile.read()

'lskajdkl'

8、write()

將內容寫入檔案

>>>testfile.write('hello')

'hello'

#因為開啟使用的是寫入模式,所以原內容被替換掉

此處用到shutil模組,對檔案進行複製、移動等功能。

9、shutil.copy(a,b)

將路徑a的單一檔案複製到b處,b若為檔名則直接複製並重命名,若為資料夾則只複製。

>>>shutile.copy('c:\\***.txt','d:\\asd\\***.txt')

'd:\\***.txt'

ps:若b路徑不存在則會報錯。

若b路徑寫成』d:\asd』,則會將檔案複製到d盤根目錄並重命名為asd

若想複製整個資料夾,則使用shutil.copytree()

10、shutil.move(a,b)

移動檔案用法與9類似。若b路徑下已存在同名檔案,則會被覆蓋。

11、shutil.retree()、send2trash()、os.unlink()和os.rmdir()

shutil.rmtree()將刪除路徑處的資料夾,及包含的子檔案和資料夾

os.unlink()將刪除路徑處的檔案

os.rmdir()將刪除路徑處的資料夾,但是資料夾必須為空,否則會報錯。

注:以上該刪除都是永久刪除,而不是移到**站

send2trash()移入**站,且不釋放磁碟空間

12、os.walk()

遍歷目錄樹,達到操作整個資料夾及其子資料夾等目的

for foldername, subfolders, filenames in

os.walk('d:\\asd'):

print('當前資料夾是'+ foldername)

for subfolder in subfolders:

print('子資料夾:'+ subfolder)

for filename in filenames:

print('子檔案:' + filename)

這裡要用到zipfile模組,可以對檔案進行壓縮打包等操作

13、zipfile.write()

建立壓縮zip檔案,且必須以『w』模式開啟壓縮物件。

>>>*** = zipfile.zipfile('d:\\asd.zip','w')

>>>***.write('d:\\asd\\asd.txt',compress_type=zipfile.zip_deflated) #第二個引數為壓縮演算法,它對各種型別的資料都很有效

>>>***.close()

14、extractall()

解壓縮檔案

15、zipfile.zipfile()

讀取zip檔案的內容

>>>*** = zipfile.zipfile('asd.zip')

>>>***.namelist()

['asd/asd.txt','asd/asd/']

>>>asdinfo = ***.getinfo('asd/asd.txt') #獲取zip內指定檔案的資訊

>>>asdinfo.file_size #獲取asd.txt未壓縮時的大小

0

>>>asdinfo.compress_size #獲取壓縮後的大小

0

附:

python檔案操作方法

import os os 系統模組 裡面有很多關於檔案操作相關的方法 1.os.getcwd 方法是獲得當前的工作路徑 now path os.getcwd print now path 2.os.listdir 方法是列出該路徑下所有檔案及資料夾 print os.listdir now path...

Python檔案操作方法

python中對檔案 資料夾 檔案操作函式 的操作需要涉及到os模組和shutil模組。得到當前工作目錄,即當前python指令碼工作的目錄路徑 os.getcwd 返回指定目錄下的所有檔案和目錄名 os.listdir 函式用來刪除乙個檔案 os.remove 刪除多個目錄 os.removedi...

python列表常用操作方法

一,查詢 1index 返回指定資料所在位置的下標 用法 列表序列.index 資料,開始位置下標,結束位置下標 注意 如果查詢的資料不存在則報錯 開始結束位置不寫預設全部 2count 統計指定在當前列表 現的次數 用法 列表序列.count 資料,開始位置下標,結束位置下標 3len 訪問列表長...