同じループ内で約10個の異なるファイルを開いて書き込む必要があります。例えば:
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
今私がやりたいことは、一般的な例外内でどのファイルが開かれている/書き込まれているかなど、特定の例外情報を取得できるようにすることです。私の現在の理解から、私が望むものを達成するには、次のようなことをしなければなりません:
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
...約10個の異なるファイルに対してこれを行う必要がある場合、これは非常に不格好で魅力的ではなくなります。最初の例のように、(たとえば) 一般的な例外からファイル名情報を取得する方法はありますか? 基本的に、例外は、特に file1 操作の try/except なしで、「file1 への書き込み時のエラー」のようなものを報告する可能性があります。
編集: これは、ファイルに書き込まれるデータを大幅に簡略化したものです。str(a) および str(a)+"hi" は、実際に書き込まれているデータを適切に表現したものではありません。file1 にはハードコードされた整数が必要な場合があり、file2 には複数の変数でフォーマットされた文字列が必要な場合があります。オープン/書き込みプロセスをループに一般化することは、うまく機能しません。