Python 检测 EOF

标签 python eof

我正在尝试在读取 csv 文件时编写一个这样的 if 语句:

if row = [] or EOF:
    do stuff

我在网上搜索过,但找不到任何方法可以做到这一点。帮忙?

最佳答案

with open(fname, 'rb') as f:
    for line in f:
        # line = line.strip(' \r\n') # to remove spaces and new line chars if needed
        if not line:
            do stuff
    do stuff

以上就足够了。

要检查是否位于文件末尾,您还可以执行以下操作:

import os
with open(fname, 'rb') as f:
   is_end = f.tell() == os.fstat(f.fileno()).st_size

但我认为你不需要。

关于Python 检测 EOF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25510222/

相关文章:

bison - 在输入文件中到达 EOF 时如何做某事?

python - 帕斯卡三角

python - python-pandas中通过 bool 运算符获取数字索引

Java - 过早的 EOF - 编写网络阅读器的更好方法?

c - 如何在循环中使用 scanf 读取数据直到 EOL?

c++ - IO 文件代码不一致

python - Pandas 对开始日期之后发生的列中的数据求和

python - matplotlib:savefig 和 show 之间不一致

python - 使用 Python 从 HTTP POST 请求获取 IP 地址

unix - 防止 FIFO 关闭/重用关闭的 FIFO