Python から SSH を使用してサーバーからファイルを読み込もうとしています。Paramikoを使って接続しています。サーバーに接続して次のようなコマンドを実行し、サーバーcat filename
からデータを取得できますが、読み取ろうとしているファイルのサイズは約 1 GB 以上です。
Pythonを使用してサーバー上のファイルを1行ずつ読み取るにはどうすればよいですか?
追加情報: 定期的に行うことは、cat filename
コマンドを実行して結果を変数に格納し、それを処理することです。しかし、ここにあるファイルは非常に大きいため、サーバーからファイルを 1 行ずつ読み取る方法を探しています。
編集: 一連のデータを読み取って行に分割することはできますが、問題は、バッファーで受信したデータに必ずしも完全な行が含まれているとは限らないことです。たとえば、バッファに 300 行ある場合、最後の行はサーバー上の行の半分にすぎず、次の半分はサーバーへの次の呼び出しで取得されます。完全な線が欲しい
編集 2: ファイル内の特定の範囲の行を出力するために使用できるコマンドは何ですか。最初の 100 行を印刷し、次に次の 100 行などを印刷するように? このようにして、バッファには常に完全な行が含まれます。