Python 脚本未读取文件末尾新行

Python 脚本未读取文件末尾新行,python,Python,我正在编写一个脚本来验证给定文件的末尾是否有空行。我正在使用代码将该文件读入python with open(input_file, "r") as file_data: for line in file_data: if line.strip() == "": print "found empty line" 当我在升华中打开测试文件时,我可以看到升华显示了370行,第370行只是一个空行。然而,当我在python脚本中使用该文件作为测试时,如

我正在编写一个脚本来验证给定文件的末尾是否有空行。我正在使用代码将该文件读入python

with open(input_file, "r") as file_data:
    for line in file_data:
        if line.strip() == "":
            print "found empty line"
当我在升华中打开测试文件时,我可以看到升华显示了370行,第370行只是一个空行。然而,当我在python脚本中使用该文件作为测试时,如果条件为true,我看不到我的
。python库是否已跳过文件新行的空结尾

更新

再多一点背景

数据是使用linux系统生成的。然后将这些文件复制到MAC并重新处理。在此过程中,使用命令
file\u handle.write(data+“\n”)
逐行重新处理写入的数据


我希望这能提供更多的上下文。

比较空字符串的标识是一件微妙的事情。改为这样做:

with open(input_file, "r") as file_data:
    for line in file_data:
        if not line.strip():
            print "found empty line"

Python 3.6适合我。

换行符位于最后一行内容的末尾。哪个平台?Windows文本文件使用换行符分隔行,因此文件的最后一行没有换行符(除非末尾有空行),而UNIX文本文件使用换行符终止行,因此文件中任何一行后面没有换行符都是无效的。@wowserx,这是一个平台特定的断言--并非所有地方都是如此。@wowserx。。。因此,为了验证文件,我必须查看最后一行是否以新行结尾。@EmAe,…我倾向于建议从结尾处寻找一个字节,然后从那里读取——这样您将只得到最后一个字节。或者,如果要检测结尾有空行的UNIX文本文件,则需要从结尾查找两个字节,然后查看这些字节是否都是换行符。