读取txt文件的第一行和最后一行;最快的方法和子流程故障排除

2024-09-30 16:34:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一大堆大的文本文件要读第一行和最后一行。最好的方法是什么?我读到使用子流程会更快,但似乎无法让它正常工作(我对此相当愚蠢)

line = subprocess.check_output(['tail', '-1', "A:/Desktop/TempData/Yes.txt"])
FileNotFoundError: [WinError 2] The system cannot find the file specified

好的,错误是因为文件不在目录中。 从最基本的角度来说,我该如何着手解决这个问题(记住,我很笨)。我尝试了以下代码,但仍然不起作用

import os


def makemydir(whatever):
    try:
        os.makedirs(whatever)
    except OSError:
        pass
    os.chdir(whatever)


makemydir('A:/Desktop/TempData/')

这仍然是最快的方法吗?我应该考虑多线程吗?


Tags: 方法txtoutputoscheckline流程yes
1条回答
网友
1楼 · 发布于 2024-09-30 16:34:12

Tail是一个linux命令,用于显示文件的最后几行。您发布的代码尝试在python之外调用该命令并读取其输出

因为它是本机linux二进制文件,并且您在Windows上,所以python找不到命令“tail”,这会导致您看到的错误消息。您需要安装mingw或gitbash之类的东西才能安装“tail”程序

如果只想使用python,我建议打开文件,使用file.seek从文件末尾读取,并向后搜索最后一行的起始位置

相关问题 更多 >