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.