首頁 > 軟體

python中os庫的函數使用

2022-10-28 14:01:56

介紹

  os模組是Python和作業系統進行互動的一個介面,它提供了許多操作檔案及資料夾的函數。可以用於檔名、檔案路徑、資料夾相關的操作。 

本部落格記錄python中os庫的一些函數使用。

1 listdir(path: str)

listdir()函數輸入一個目錄,返回該目錄下的所有資料夾名稱和檔名稱。注意是名稱而非路徑。

舉例,比如在路徑D:tmp下有如下檔案,

那麼,os.listdir('D:\tmp')返回的內容為,

['檔案1.txt', '檔案2.txt', '檔案3.txt', '資料夾1', '資料夾2', '資料夾3']

程式碼為,

import os

path = 'D:\tmp' 
files = os.listdir(path)
print(files)

2 path.isdir(path: str)

path.isdir()函數返回布林值,表示輸入的路徑是否為資料夾,如果是返回True,否則返回False

舉例,比如path.isdir('D:\tmp\資料夾1')返回True,而path.isdir('D:\tmp\檔案1.txt')返回False

程式碼如下,

import os

if os.path.isdir('D:\tmp\資料夾1') == True:
    print('True')
if os.path.isdir('D:\tmp\檔案1.txt') == False:
    print('False')

輸出為,

TrueFalse

3 path.isfile(path: str)

path.isfile()函數返回布林值,表示輸入的路徑是否為檔案,如果是返回True,否則返回False

舉例,比如path.isfile('D:\tmp\資料夾1')返回False,而path.isdir('D:\tmp\檔案1.txt')返回True

程式碼如下,

import os

if os.path.isfile('D:\tmp\資料夾1') == False:
    print('False')
if os.path.isfile('D:\tmp\檔案1.txt') == True:
    print('True')

輸出為,

False
True

4 path.join(path: str, file: str)

path.join()函數拼接兩個路徑,在windows下拼接符為\,因此path.join(path, file)等價於path + '\' + file。但不同系統的拼接符是不一樣的,因此使用path.join()函數拼接兩個路徑會更魯棒。

程式碼如下,

import os

path = 'D:\tmp'
for file in os.listdir(path):
    filename = file
    filepath = os.path.join(path, filename)
    print(f'filename = {filename}, filepath = {filepath}')

輸出為,

filename = 檔案1.txt, filepath = D:tmp檔案1.txt
filename = 檔案2.txt, filepath = D:tmp檔案2.txt
filename = 檔案3.txt, filepath = D:tmp檔案3.txt
filename = 資料夾1, filepath = D:tmp資料夾1
filename = 資料夾2, filepath = D:tmp資料夾2
filename = 資料夾3, filepath = D:tmp資料夾3

5 path.getsize(path: str)

path.getsize()函數返回輸入檔案的大小,單位是位元組(Byte)。如果輸入為資料夾的話,返回0。

舉例,比如path.getsize('D:\tmp\資料夾1')返回0,path.getsize('D:\tmp\檔案1.txt')返回檔案1.txt的大小。

程式碼如下,

import os

size1 = os.path.getsize('D:\tmp\資料夾1')
size2 = os.path.getsize('D:\tmp\檔案1.txt')
print(f'size1 = {size1}位元組, size2 = {size2}位元組')

輸出為,

size1 = 0位元組, size2 = 8位元組

到此這篇關於python中os庫的使用的文章就介紹到這了,更多相關python os庫使用內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com