endofprogram=False
try:
filename=input("Enter filename: ")
infile=open(filename,"r")
except IOError:
print("Error reading file! Program ends here!")
endofprogram=True
if endofprogram==False:
highest=0.0
for line in infile:
line=line.strip('\n')
if(line!="") and (line[0]!='#'):
name,grade=line.split('\t')
if(float(grade)>highest):
highest=float(grade)
hname=name
record=(hname,highest)
print(record)
infile.close()
我们正在处理comp sci中的文件。该程序应该在我命名为“File1.txt”的某个.txt文件中找到最高等级。
#fname lname grade
Charlie Watson 8
Alice Brown 8.5
#Comments
Francene Walk 9
Robert Wilson 7
Evelyn Stewart 10
Gordon Rogers 8.5
因此,为了通过程序访问此文件,我们应该将它放在同一个文件夹中,就像我们在课堂上讲授的那样。但是当我通过程序输入正确的文件名作为输入时,我得到“错误读取文件!”消息显示。这是因为我使用的是Mac,而且在OSX上通过python读取文件有不同的方法吗?
答案 0 :(得分:0)
如果它是Python 2,您可能希望raw_input
不是input
。
作为一般规则,在开发程序时,在except
子句的末尾使用raise
是个好主意。这会引发原始异常并向您显示出错的原因。