📅  最后修改于: 2023-12-03 15:09:52.433000             🧑  作者: Mango
在编程中,经常需要对文件夹下的多个文件进行操作。本文将介绍如何使用 Python 循环遍历文件夹以提取 zip 和 winrar 文件。这将帮助开发人员减少手动操作和提高效率。
使用 Python 的 os
模块可以轻松地遍历文件夹中的文件。以下代码演示了如何遍历文件夹中的所有文件,并将它们以一个列表的形式返回。
import os
def get_files_in_folder(folder_path):
files = []
for path, dirs, filenames in os.walk(folder_path):
for filename in filenames:
files.append(os.path.join(path, filename))
return files
Python 的 zipfile
模块提供了处理 zip 文件的 API。以下代码演示了如何提取 zip 文件中的所有文件。
import zipfile
def extract_zip_file(zip_path, extract_path):
with zipfile.ZipFile(zip_path, 'r') as zip_file:
zip_file.extractall(extract_path)
Python 的 rarfile
模块提供了处理 winrar 文件的 API。以下代码演示了如何提取 winrar 文件中的所有文件。
import rarfile
def extract_winrar_file(rar_path, extract_path):
with rarfile.RarFile(rar_path, 'r') as rar_file:
rar_file.extractall(extract_path)
以下代码演示了如何遍历文件夹并提取其中的 zip 和 winrar 文件。
import os
import zipfile
import rarfile
def get_files_in_folder(folder_path):
files = []
for path, dirs, filenames in os.walk(folder_path):
for filename in filenames:
files.append(os.path.join(path, filename))
return files
def extract_zip_file(zip_path, extract_path):
with zipfile.ZipFile(zip_path, 'r') as zip_file:
zip_file.extractall(extract_path)
def extract_winrar_file(rar_path, extract_path):
with rarfile.RarFile(rar_path, 'r') as rar_file:
rar_file.extractall(extract_path)
if __name__ == '__main__':
folder_path = '/path/to/folder'
extract_path = '/path/to/extract'
files = get_files_in_folder(folder_path)
for file in files:
if file.endswith('.zip'):
extract_zip_file(file, extract_path)
elif file.endswith('.rar'):
extract_winrar_file(file, extract_path)
以上代码可以将文件夹下所有的 zip 和 winrar 文件提取出来,并存储至指定目录。这种方式可以将繁琐的操作自动化,使得开发人员可以更专注于业务逻辑的实现。