【发布时间】:2019-08-06 17:05:06
【问题描述】:
所以,我目前正在学习编程课程,我们开始学习文件和异常处理。我遇到了一个基于异常处理的问题。
这个问题要求我从population.txt 读取数据,检查以确保文件存在并且格式正确(如果它没有引发适当的异常),计算国家/地区的总人口文本文件并打印该总数。
文件是这样的
Afghanistan:32738376
Albania:3619778
Algeria:33769669
Jamaica:2804332
Japan:127288419
Paraguay:6831306
Peru:29180899
Philippines:92681453
Pitcairn Islands:48
Tajikistan:7211884
Turkmenistan:5179571
Zambia:11669534
Zimbabwe:12382920
我做了这样的事情。如您所见,我对如何组织代码感到困惑,但我知道我正在做某事。我应该把 if 语句放在 except 子句下吗?你们是怎么做到的?
try:
infile=open("population..txt","r")
for line in infile:
line=line.rstrip()
wordList=line.split(":")
if type(word[0])!=str:
raise ValueError("This is not a string")
elif type(word[1])!=int:
raise ValueError("This not an integer")
else:
pass
except IOError as e:
print(e)
else:
finally:
infile.close()
【问题讨论】: