我必须在同一个循环中打开并写入大约 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时出错”之类的内容,而无需尝试/专门针对file1操作。
编辑:这是对写入文件的数据的过度简化。str(a) 和 str(a)+"hi" 并不能很好地表示实际写入的数据;file1 可能需要一个硬编码的整数,而 file2 可能需要一个用多个变量格式化的字符串。将打开/写入过程概括为一个循环不会很好地工作。