Pobieranie szczegółów wyjątków w Pythonie

Muszę otworzyć i zapisać około 10 różnych plików w tej samej pętli. na przykład:

for i in range(0,10):
    try:
        a=5
        file1 = open("file1.txt",'w+')
        file2 = open("file2.txt",'w+')
        #... etc

        print(str(a),file=file1)
        print(str(a)+"hi",file=file2)
        # ... etc
    except: 
        #error handling

Teraz chciałbym uzyskać informacje o wyjątkach, takie jak plik otwierany / zapisywany w ramach ogólnego wyjątku. Z mojego obecnego zrozumienia, musiałbym zrobić coś takiego, aby osiągnąć to, co chcę:

for i in range(0,5):
    a=5
    try:
        file1 = open("file1.txt",'w+')
        print(str(a),file=file1)
    except: 
        #error handling for file1
    try:
        file2 = open("file2.txt",'w+')
        print(str(a)+"hi",file=file2)
    except: 
        #error handling for file2

... Co będzie bardzo niezdarne i nieatrakcyjne, gdy będę musiał to zrobić dla około 10 różnych plików. Czy jest jakiś sposób na uzyskanie (na przykład) informacji o nazwie pliku z ogólnego wyjątku, jak w moim pierwszym przykładzie? Zasadniczo więc wyjątek może zgłaszać takie rzeczy, jak „błąd podczas zapisywania do pliku1” bez próby / z wyjątkiem operacji na plik1.

edit: Jest to ogromne uproszczenie danych zapisywanych do pliku. str (a) i str (a) + „hi” nie są tak naprawdę dobrą reprezentacją danych, które faktycznie są zapisywane; plik1 może wymagać zakodowanej na stałe liczby całkowitej, gdzie plik2 może wymagać ciągu sformatowanego wieloma zmiennymi. uogólnienie procesu otwierania / zapisywania w pętlę nie będzie działać bardzo dobrze.

questionAnswers(4)

yourAnswerToTheQuestion