要用Python遞歸解壓所有文件,你可以使用zipfile
模塊來操作壓縮文件。下面是一個使用遞歸的示例代碼:
import os
import zipfile
def unzip_all_files(directory):
for item in os.listdir(directory):
item_path = os.path.join(directory, item)
if os.path.isfile(item_path) and item.endswith('.zip'):
# 打開壓縮文件
with zipfile.ZipFile(item_path, 'r') as zip_ref:
# 解壓文件到當前目錄
zip_ref.extractall(directory)
# 刪除壓縮文件
os.remove(item_path)
elif os.path.isdir(item_path):
# 遞歸調用解壓函數
unzip_all_files(item_path)
# 指定要解壓的目錄
directory_to_unzip = 'path/to/directory'
unzip_all_files(directory_to_unzip)
在上面的代碼中,首先定義了一個unzip_all_files
函數,該函數接受一個目錄路徑作為參數。然后,遍歷目錄中的所有項目,如果是一個壓縮文件(以.zip
結尾),將其解壓到當前目錄,并刪除原始壓縮文件。如果是一個子目錄,則遞歸調用unzip_all_files
函數以解壓其中的文件。最后,指定要解壓縮的目錄,并調用unzip_all_files
函數來開始解壓。