Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import os
- from PyPDF2 import PdfReader
- from PyPDF2.errors import PdfReadError
- # Directorul unde se află fișierele PDF
- directory = "g:/ARHIVA/BCU PDF"
- # Lista fișierelor PDF corupte sau care nu se deschid
- corrupted_files = []
- # Variabilă pentru a ține evidența ultimului fișier parcurs
- last_processed_file = None
- try:
- # Parcurge fiecare director și subfolder în mod recursiv
- for root, _, files in os.walk(directory):
- for filename in files:
- if filename.endswith(".pdf"):
- # Calea completă a fișierului PDF
- file_path = os.path.join(root, filename)
- # Salvează ultimul fișier parcurs
- last_processed_file = file_path
- # Afișează în timp real fișierul care este parcurs
- print(f"Procesând fișierul: {file_path}")
- try:
- # Încearcă să deschizi fișierul PDF
- reader = PdfReader(file_path)
- # Verifică dacă documentul are pagini
- if len(reader.pages) == 0:
- corrupted_files.append(file_path)
- except (PdfReadError, ValueError, FileNotFoundError):
- # Dacă apare o eroare la deschiderea fișierului PDF, adaugă-l în lista fișierelor corupte
- corrupted_files.append(file_path)
- except Exception as e:
- # În cazul unei excepții, oprește scriptul și afișează mesajul și informațiile dorite
- print(f"\nScriptul a fost oprit din cauza unei excepții: {e}")
- print(f"Ultimul fișier parcurs: {last_processed_file}")
- if corrupted_files:
- print("Fișierele PDF corupte sau care nu se pot deschide găsite până acum:")
- for file_path in corrupted_files:
- print(file_path)
- else:
- print("Nu au fost găsite fișiere corupte sau care nu se pot deschide până acum.")
- # Dacă nu a fost oprită de o excepție, afișează fișierele corupte la final
- if corrupted_files:
- print("\nUrmătoarele fișiere PDF sunt corupte sau nu se pot deschide:")
- for file_path in corrupted_files:
- print(file_path)
- else:
- print("\nToate fișierele PDF din directorul specificat s-au deschis fără probleme.")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement