嘗試讀取文件的Pythonic方法是什麼,如果讀取此異常讀取引發異常回退以讀取替代文件?嘗試讀取文件的Pythonic方式以及異常回退到備用文件的情況
這是我寫的示例代碼,它使用嵌套try
- except
塊。這是pythonic:
try:
with open(file1, "r") as f:
params = json.load(f)
except IOError:
try:
with open(file2, "r") as f:
params = json.load(f)
except Exception as exc:
print("Error reading config file {}: {}".format(file2, str(exc)))
params = {}
except Exception as exc:
print("Error reading config file {}: {}".format(file1, str(exc)))
params = {}
這會導致競爭條件,加上'OSError'也可能是由於'PermissionError'等 –
不會吧無論如何,如果您嘗試在沒有適當的權限的情況下打開(fp,「r」)',就會得到'PermissionError'? – Vinny