Skip to content

Instantly share code, notes, and snippets.

@me-suzy
Created October 5, 2025 06:57
Show Gist options
  • Save me-suzy/b12f31c4fdae62cfcce73f99d2078b4d to your computer and use it in GitHub Desktop.
Save me-suzy/b12f31c4fdae62cfcce73f99d2078b4d to your computer and use it in GitHub Desktop.
de comparat doua fisiere.py
import os
import re
def extract_volume_identifier(line: str) -> str:
"""Extrage identificatorul unic al volumului din linie."""
# Simplificat: folosește linia completă (trimmed) ca identificator unic
# Aceasta va capta și diferențele de ordine între Seria A și Seria B
return line.strip()
def compare_files():
base_dir = r"e:\Carte\BB\17 - Site Leadership\alte\Ionel Balauta\Aryeht\Task 1 - Traduce tot site-ul\Doar Google Web\Andreea\Meditatii\2023\Compara 2 fisiere txt si arata diferentele de linii care exista in unul, dar nu si in celalalt"
fisier_baza = f"{base_dir}\\Fisier de baza.txt"
fisier_comparat = f"{base_dir}\\Fisier de comparat.txt"
fisier_output = f"{base_dir}\\output.txt"
try:
# Citește volumele din baza
volumes_base = set()
with open(fisier_baza, 'r', encoding='utf-8') as f:
for line in f:
if line.strip():
volumes_base.add(line.strip())
# Citește volumele din comparat
volumes_comparat = set()
with open(fisier_comparat, 'r', encoding='utf-8') as f:
for line in f:
if line.strip():
volumes_comparat.add(line.strip())
# Găsește diferențele
doar_in_baza = volumes_base - volumes_comparat
doar_in_comparat = volumes_comparat - volumes_base
# Sortează pentru afișare
doar_in_baza_sorted = sorted(doar_in_baza)
doar_in_comparat_sorted = sorted(doar_in_comparat)
print(f"Volumele din baza: {len(volumes_base)}")
print(f"Volumele din comparat: {len(volumes_comparat)}")
print(f"Doar in baza: {len(doar_in_baza)}")
print(f"Doar in comparat (lipsesc din baza): {len(doar_in_comparat)}")
# Scrie rezultatul
with open(fisier_output, 'w', encoding='utf-8') as f:
f.write("RAPORT COMPARATIE VOLUME\n")
f.write("=" * 50 + "\n\n")
f.write(f"Volume in baza: {len(volumes_base)}\n")
f.write(f"Volume in comparat: {len(volumes_comparat)}\n")
f.write(f"Doar in baza: {len(doar_in_baza)}\n")
f.write(f"Lipsesc din baza: {len(doar_in_comparat)}\n\n")
if doar_in_baza_sorted:
f.write("VOLUME CARE EXISTA DOAR IN BAZA:\n")
f.write("-" * 40 + "\n")
for vol in doar_in_baza_sorted:
f.write(f"{vol}\n")
f.write("\n")
if doar_in_comparat_sorted:
f.write("VOLUME CARE LIPSESC DIN BAZA:\n")
f.write("-" * 40 + "\n")
for vol in doar_in_comparat_sorted:
f.write(f"{vol}\n")
f.write("\n")
# Format Total Commander pentru volumele lipsă
f.write("FORMAT TOTAL COMMANDER (volume lipsă):\n")
f.write("-" * 40 + "\n")
transformed = [f'"*{line}*"' for line in doar_in_comparat_sorted]
formatted = ";".join(transformed) + ";"
f.write(formatted + "\n")
print("\nRaport generat cu succes!")
return True
except Exception as e:
print(f"EROARE: {str(e)}")
return False
if __name__ == "__main__":
compare_files()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment