一、什麼是Python os模塊?
Python中的os模塊是一個函數庫,其提供了與操作系統相關聯的函數,這些函數可以讓你執行文件、目錄和進程操作,以及處理文件路徑。在使用Python編寫程序時,os模塊經常被用於在不同操作系統上處理文件系統路徑和文件I/O操作中。
比如,在Linux中路徑是以 /開始,而在Windows中,路徑是以盤符開始的,如C:\
# 引入os模塊 import os # 獲取當前工作路徑 path = os.getcwd() print(path)
運行以上代碼可以輸出當前工作目錄的路徑,如:/home/xxx/test/
在特定的路徑中,我們經常需要遍歷文件夾的所有文件並進行操作,下面我們詳細說明一下Python os模塊如何遍歷文件夾、讀取文件信息等,快速讀取文件列表。
二、遍歷文件夾
遍歷文件夾是指遍歷某一文件夾下的所有文件夾及文件,並對每一個文件進行一定的操作,如獲取文件名、修改文件、刪除文件等。我們可以使用os模塊中的listdir、walk、glob等函數進行遍歷。
1、使用os.listdir()
os.listdir()用於返回指定文件夾包含的文件或文件夾的名字的列表。使用該方法返迴文件夾下的所有文件列表:
# 獲取指定文件夾下的文件列表 import os folder_path = "/home/xxx/test/" file_list = os.listdir(folder_path) print(file_list)
運行以上代碼可以輸出指定文件夾下的所有文件列表。
2、使用os.walk()
os.walk()會生成目錄樹下的每一個目錄及文件名。它首先產生當前目錄下的文件名,然後使用os.path.isdir()函數判斷是否為目錄,如果是目錄,則進入該目錄,執行上述操作,直到當前目錄全部完成。
使用該方法返迴文件夾下的所有文件列表:
# 獲取指定文件夾下的文件列表 import os folder_path = "/home/xxx/test/" for root, dirs, files in os.walk(folder_path): for file in files: print(os.path.join(root, file))
運行以上代碼可以輸出指定文件夾下的所有文件列表。
三、讀取文件信息
在獲取了文件列表之後,我們需要讀取每個文件的信息,如文件大小、創建時間、修改時間等,下面我們通過Python os模塊的示例來演示如何讀取文件的一些基本信息。
1、獲取文件大小
使用os.path.getsize(path)方法可以獲取文件的大小,返回的是字節數。
# 獲取文件大小 import os file_path = "test.txt" size = os.path.getsize(file_path) print("文件大小為:", size, "字節")
輸出結果為:
文件大小為: 56 字節
2、獲取文件創建時間
使用os.path.getctime(path)方法可以獲取文件的創建時間,返回一個時間戳。
# 獲取文件創建時間 import os import time file_path = "test.txt" ctime = os.path.getctime(file_path) print("文件創建時間為:", time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(ctime)))
使用time.localtime()方法將時間戳轉換為格式化的日期時間字符串。
輸出結果為:
文件創建時間為: 2021-07-28 11:47:58
3、獲取文件修改時間
使用os.path.getmtime(path)方法可以獲取文件的修改時間,返回一個時間戳。
# 獲取文件修改時間 import os import time file_path = "test.txt" mtime = os.path.getmtime(file_path) print("文件修改時間為:", time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(mtime)))
使用time.localtime()方法將時間戳轉換為格式化的日期時間字符串。
輸出結果為:
文件修改時間為: 2021-07-28 14:27:23
四、小結
以上就是本文對使用Python os模塊操作目錄,快速讀取文件列表的詳細介紹,我們通過講解os模塊中的幾個重要方法,如listdir、walk、getsize、getctime和getmtime,以及詳細介紹了如何遍歷文件夾、讀取文件信息等操作。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/256297.html