2012-11-08 59 views
9

为什么Python出于同样的原因报告不同的错误,这些程序包含1行和2行代码?同样的错误,但不同的错误报告。为什么?

我的意思是:

print(1 

Error: unexpected EOF while parsing 

a = 1+1 
print(1 

Error: invalid syntax 

同样的问题 - 但错误消息是不同的 - 原因?

sys.version_info(主要= 3,次要= 2,微= 0,releaselevel = '最终',串行= 0)

+4

这些是什么样的提示:' - >'?还是你在执行的文件中谈论Python代码?怎么样? – 2012-11-08 17:47:51

+0

- >只显示代码的起始行,对不起。首先,程序有1行代码,第二个程序有2行代码。 – user1810077

+3

我似乎无法重现第一个错误。你使用的是什么版本的Python? –

回答

2

在您的第一种情况下Python是 '寻找' 的第一行/命令。 程序的最小数量至少为一个语句。所以它抱怨提前终止。

所以第一个错误EOF(文件结束)意味着: '嘿,我期待至少有一个命令,并突然结束......''你确定程序已完成吗?

之前运行的第二个错误是编译器'知道'这是一个程序。

和错误是不同的,但它的意思是:

“嘿,我现在你在这个位置有一个错误,你可以修复你的sintaxe”?

我希望我的非学术的方式不误导你:)

+1

2Carlos:这是否意味着,除了执行1-lin外,我没有机会遇到任何其他情况下的“EOF”错误e程序? – user1810077

+0

当你有'流量控制'就像读取TCP套接字或文件,并且突然'中断'时,你可能会遇到同样的错误。 因此,当你处理互联网套接字时,你会感到奇怪,你会得到这个错误...你觉得: '什么?没有文件..' 但你了解'档案'是什么意思。 Geekky笔记:大型机z/OS仍然使用磁盘和卷的TAPE面额... –

相关问题