Homelab上有两个不断增长的巨大NDJSON文件,以前我电脑需要用最新数据的时候都是跑个sync_data.py全量更新,也需要不少时间。
旧的脚本是直接sftp.get()全量下载的。而新学到的办法是引入了Paramiko库。先用 os.path.getsize 获取本地文件的大小。接着用sftp.open()打开远程文件后,拿到了文件句柄,然后使用.seek(offset)这个方法,来确认“接缝处”的256个字节的数据,最后用open(‘ab’)的模式追加写入,以达到“增量更新”的目的。