我必须在同一个循环内打开并写入约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个不同文件进行操作时,使用类似第一个例子中的try/except语句会变得非常笨重和不可读。有没有办法从一般的异常信息中获取(例如)文件名信息?基本上,异常可以报告诸如“写入file1时出错”的内容,而不需要针对file1操作使用特定的try/except语句。
编辑:这是对写入文件的数据进行了极度简化。str(a)和str(a)+"hi"并不是实际写入的数据很好的表示;file1可能需要一个硬编码整数,而file2可能需要一个格式化多个变量的字符串。将打开/写入过程概括为一段循环无法很好地工作。