一、背景介紹
在實際的應用場景中,我們常常需要獲取當前目錄下的所有文件的具體信息,比如文件的名稱、大小、創建時間等等。而這些信息往往對我們進行文件管理和統計非常有幫助。在這種情況下,我們可以使用Python編寫代碼來獲取當前目錄下的文件信息。本文將從多個方面對獲取當前目錄下文件信息的Python代碼進行詳細闡述。
二、獲取當前目錄下的文件列表
獲取當前目錄下的文件列表是Python實現文件管理的基礎。在Python中,我們可以使用os庫中的listdir()函數,獲取當前目錄下的所有文件和文件夾名稱。該函數的代碼示例如下所示:
import os
def get_file_list():
file_list = os.listdir(os.getcwd())
return file_list
print(get_file_list())
上述代碼中,我們首先引入了os庫,並定義了一個get_file_list()函數,用於獲取當前目錄下的所有文件和文件夾名稱。在函數中,我們調用了listdir()函數,並將其返回值保存到file_list中。通過調用os.getcwd()函數,我們可以獲取程序所處的當前目錄位置。此時,通過調用print()函數輸出我們獲取到的文件列表。
三、獲取當前目錄下的文件信息
獲取當前目錄下文件的具體信息非常有助於進行更加精細化的文件統計和管理。我們可以使用Python的os庫中的stat()函數獲取文件的諸多細節信息。例如,我們可以獲取文件大小、創建時間、修改時間等信息。下面是一個獲取當前目錄下文件信息的示例代碼:
import os
import time
def get_file_info(file):
file_info = []
file_info.append(os.path.getsize(file))
file_info.append(time.localtime(os.path.getctime(file)))
file_info.append(time.localtime(os.path.getmtime(file)))
return file_info
def get_all_files_info():
file_list = get_file_list()
files_info = []
for file in file_list:
file_info = []
file_info.append(file)
full_path = os.getcwd() + '\\' + file
file_info.append(get_file_info(full_path))
files_info.append(file_info)
return files_info
print(get_all_files_info())
上述代碼中,我們首先引入了os和time庫,並定義了兩個函數:get_file_info()和get_all_files_info()。函數get_file_info(file)可獲取某個文件的具體信息,如文件大小(通過os.path.getsize()函數獲取)、文件創建時間和修改時間(通過time.localtime()函數獲取)。函數get_all_files_info()獲取當前目錄下所有文件的信息,並將其存儲在files_info列表中。通過循環調用get_file_info()函數獲取各個文件的具體信息,最終輸出files_info列表內容。
四、獲取當前目錄下的文件類型
獲取當前目錄下文件的類型信息,有助於我們進行更細緻的文件管理和分類。我們可以使用Python的os庫中的pathlib.Path()函數獲取文件類型。下面是一個獲取當前目錄下文件類型的示例代碼:
import os
import pathlib
def get_file_type(file_path):
file_type = pathlib.Path(file_path).suffix
return file_type
def get_all_files_type():
file_list = get_file_list()
files_type = []
for file in file_list:
full_path = os.getcwd() + '\\' + file
file_type = get_file_type(full_path)
files_type.append([file, file_type])
return files_type
print(get_all_files_type())
上述代碼中,我們引入了os庫和pathlib庫,並定義了get_file_type()和get_all_files_type()函數。函數get_file_type(file_path)可獲取某個文件的類型(比如.txt、.png、.py等),通過調用pathlib.Path()函數獲取。函數get_all_files_type()通過循環調用get_file_type()函數獲取當前目錄下每個文件的類型,並保存在files_type列表中。最終輸出文件名及其類型的信息。
五、獲取當前目錄下的文件大小排序
文件大小排序是對文件進行常見的管理操作。在Python中,我們可以使用os庫中的stat()函數訪問文件的大小,通過使用Python內置函數sorted()函數對文件進行排序。下面是一個獲取當前目錄下文件大小排序的示例代碼:
import os
def get_all_files_sort():
file_list = get_file_list()
files_size = []
for file in file_list:
full_path = os.getcwd() + '\\' + file
size = os.path.getsize(full_path)
files_size.append([file, size])
files_size = sorted(files_size, key = lambda x:x[1],reverse=True)
return files_size
print(get_all_files_sort())
上述代碼中,我們只定義了函數get_all_files_sort()。在該函數中,我們使用os庫中的函數getsize()獲取文件的大小,並以文件名和大小的形式將其保存在files_size[]列表中。通過調用內置函數sorted()將files_size[]列表按照文件大小進行降序排序,最終輸出排序後的文件列表。
六、小結
通過本文的闡述,我們了解了Python中如何獲取當前目錄下的文件信息。從獲取文件列表到獲取文件的具體信息、文件類型及文件排序等方面,我們對Python在文件管理方面的實際應用有了更深層次的理解。
原創文章,作者:UXNGA,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/329075.html