私はシンプルなGUI Pythonスクリプトを使って、システム上で簡単な作業をしています。一部のパッケージにはapt-get install
が含まれています。進捗バー用のapt-get installの出力の解析
これが続いている間に、端末のapt-getのインターフェイスに表示されている少しのパーセンテージを使用して、ダウンロードの進行状況を更新するプログレスバーを表示します。
BUT!私は進行状況を取得する方法を見つけることができません。 apt-getの出力をパイプまたはリダイレクトすると、各パッケージの "完了したダウンロード"メッセージを表示する静的な行と、スクリプト内でsubprocess.Popen()
を読むための静的な行だけが表示されます。
ダウンロードしたファイルのパーセンテージを得るには、apt-getの出力からどのように読み込むことができますか?
これは私のCポートでもposix popen()を使ってうまくいく可能性がありますか?または同様の方法がありますか? –
'popen'はサブプロセスにその出力がパイプであることを知らせますので、あなたは"完全なバッファリングされていないリアルタイムの出力とにかくpls! "を要求するのに十分なコマンドを除いて、おそらく運が悪いでしょう。私はapt-getがそのエリートグループにいるとは思わない。 Linuxの下でCで "偽端末"を実装するには、pty(7)のマニュアルページから始めます。 http://linux.die.net/man/7/空で - そして、幸運にも(たくさんの作業が必要になります!) –