2
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 读取文件有不同的方法吗?

4

1 回答 1

0

如果是 Python 2,你可能raw_input不想要input.

作为一般规则,在开发程序时,最好在子句末尾except使用raise. 这会引发原始异常,并更好地向您展示出了什么问题。

于 2013-10-27T20:13:37.180 回答