GNU/Linux >> Linux の 問題 >  >> Linux

Python で Linux コンソール ウィンドウの幅を取得する方法

import os
rows, columns = os.popen('stty size', 'r').read().split()

Pythonメーリングリストのスレッドによると、Linuxではかなり普遍的な「stty size」コマンドを使用します。 「stty size」コマンドをファイルとして開き、そこから「読み取り」、単純な文字列分割を使用して座標を分離します。

os.environ["COLUMNS"] の値 (標準シェルとして bash を使用しているにもかかわらずアクセスできない) とは異なり、データも最新のものになりますが、os.environ["COLUMNS"] は値は、Python インタープリターの起動時にのみ有効です (それ以降、ユーザーがウィンドウのサイズを変更したとします)。

(Python 3.3+ でこれを行う方法については、@GringoSuave の回答を参照してください)


モジュール shutil にある理由がわからない 、しかしそれはPython 3.3でそこに着陸しました。参照:

出力端子のサイズを問い合わせる

>>> import shutil
>>> shutil.get_terminal_size((80, 20))  # pass fallback
os.terminal_size(columns=87, lines=23)  # returns a named-tuple

低レベルの実装は os モジュールにあります。クロスプラットフォーム - Linux、Mac OS、および Windows で動作し、おそらく他の Unix ライクでも動作します。バックポートもありますが、もはや関係ありません。


Linux
  1. Linux 上の Python で export を使用する方法

  2. Linuxでpythonファイルを実行する方法

  3. Scientific Linux で ldapsearch を取得するには?

  1. LinuxにPythonをインストールする方法

  2. LinuxMint20にPythonをインストールする方法

  3. RockyLinux8にPython3.10をインストールする方法

  1. Linuxのウィンドウ装飾をカスタマイズする方法

  2. Linuxでディレクトリサイズを取得する方法

  3. PHP cli から Linux コンソールの $COLUMNS と $ROWS を取得するには?