Diyelim ki 100.ZIP adlı bir arşiv var ve içinde 99.ZIP arşivi var. 99.ZIP arşivinin içinde de 98.ZIP arişivi var ve bu böyle 1.ZIP'e kadar gidiyor. 1.ZIP arşivinin içinde ise asıl dosyamız var. Mesela şifre.txt gibi. Bizim bu dosyaya ulaşmamız gerekiyor. Dosyaya nasıl ulaştığımız önemli değil. Şimdiden teşekkürler.
Not: Tek tek arşivden çıkarmayı önermeyin.
İç içe işlemleri tekrar edecek şekilde takip etmeye temelde recursive programlama deniliyor. ZIP içinden recursive şekilde dosya çıkarmak için basit bir script yazmanız gerekiyor. Chatgpt güzel yazdı, yasaklanmamışken paylaşalım .
Python:
import zipfile
import os
def unzip_recursive(zip_file, dest_dir):
with zipfile.ZipFile(zip_file, 'r') as zip_ref:
zip_ref.extractall(dest_dir)
for file in zip_ref.infolist():
if file.filename.endswith('.zip'):
unzip_recursive(file.filename, dest_dir)
zip_file = 'dosya.zip'
dest_dir = '.'
unzip_recursive(zip_file, dest_dir)
Denedim çalıştı. dosya.zip içindeki tüm ZIP'leri açıyor, onun içindekileri de açıyor, böyle böyle gidiyor. 3-4 kademeye kadar test ettim.
İç içe işlemleri tekrar edecek şekilde takip etmeye temelde recursive programlama deniliyor. ZIP içinden recursive şekilde dosya çıkarmak için basit bir script yazmanız gerekiyor. Chatgpt güzel yazdı, yasaklanmamışken paylaşalım .
Python:
import zipfile
import os
def unzip_recursive(zip_file, dest_dir):
with zipfile.ZipFile(zip_file, 'r') as zip_ref:
zip_ref.extractall(dest_dir)
for file in zip_ref.infolist():
if file.filename.endswith('.zip'):
unzip_recursive(file.filename, dest_dir)
zip_file = 'dosya.zip'
dest_dir = '.'
unzip_recursive(zip_file, dest_dir)
Denedim çalıştı. dosya.zip içindeki tüm ZIP'leri açıyor, onun içindekileri de açıyor, böyle böyle gidiyor. 3-4 kademeye kadar test ettim.
İç içe işlemleri tekrar edecek şekilde takip etmeye temelde recursive programlama deniliyor. ZIP içinden recursive şekilde dosya çıkarmak için basit bir script yazmanız gerekiyor. Chatgpt güzel yazdı, yasaklanmamışken paylaşalım .
Python:
import zipfile
import os
def unzip_recursive(zip_file, dest_dir):
with zipfile.ZipFile(zip_file, 'r') as zip_ref:
zip_ref.extractall(dest_dir)
for file in zip_ref.infolist():
if file.filename.endswith('.zip'):
unzip_recursive(file.filename, dest_dir)
zip_file = 'dosya.zip'
dest_dir = '.'
unzip_recursive(zip_file, dest_dir)
Denedim çalıştı. dosya.zip içindeki tüm ZIP'leri açıyor, onun içindekileri de açıyor, böyle böyle gidiyor. 3-4 kademeye kadar test ettim.