我有一大堆大的文本文件要读第一行和最后一行。最好的方法是什么?我读到使用子流程会更快,但似乎无法让它正常工作(我对此相当愚蠢)
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/')
这仍然是最快的方法吗?我应该考虑多线程吗?
Tail是一个linux命令,用于显示文件的最后几行。您发布的代码尝试在python之外调用该命令并读取其输出
因为它是本机linux二进制文件,并且您在Windows上,所以python找不到命令“tail”,这会导致您看到的错误消息。您需要安装mingw或gitbash之类的东西才能安装“tail”程序
如果只想使用python,我建议打开文件,使用file.seek从文件末尾读取,并向后搜索最后一行的起始位置
相关问题 更多 >
编程相关推荐