我知道这可能是之前提出的问题,我搜索了一些答案,例如this one。
但我仍然很困惑,我想再问一次明确的答案。
我的问题是:是一个只有空格字符的空行,例如换行符(/ n),当作为文件的最后一行放置时,总是被Python视为EOF?那么其他语言如PHP,Javascript等呢?任何OS平台差异?
例如,在我的python3代码中,我有一个要处理的文件:
some text at line 10
some more text at line 11
nothing (last line of file)
我的代码将最后一行识别为EOF,并引发StopIteration异常。如果我没有最后一个空行,代码可以正常工作(我正在使用open() as f: for line in f
,所以它确实有EOF但是在内部捕获)。我使用的文本编辑器是VisualStudio和记事本,两者都试过了。
对于同一文本文件,如果我将其连接到自身,则新文件之间没有换行符。这就是我认为最后一个空行被视为EOF并被忽略的原因。
谢谢。