GNU/Linux >> Znalost Linux >  >> Linux

Jak získat šířku okna konzoly Linux v Pythonu

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

používá příkaz 'stty size', který je podle vlákna v mailing listu pythonu na linuxu přiměřeně univerzální. Otevře příkaz 'stty size' jako soubor, 'čte' z něj a k oddělení souřadnic používá jednoduché rozdělení řetězce.

Na rozdíl od hodnoty os.environ["COLUMNS"] (ke které nemám přístup, přestože používám bash jako svůj standardní shell) budou data také aktuální, zatímco věřím, že os.environ["COLUMNS"] hodnota by byla platná pouze po dobu spuštění interpretu pythonu (předpokládejme, že uživatel od té doby změnil velikost okna).

(Viz odpověď @GringoSuave o tom, jak to udělat v pythonu 3.3+)


Nejste si jisti, proč je v modulu shutil , ale přistál tam v Pythonu 3.3. Viz:

Dotaz na velikost výstupního terminálu

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

Nízkoúrovňová implementace je v modulu os. Multiplatformní – funguje pod Linuxem, Mac OS a Windows, pravděpodobně na jiných Unixových systémech. Existuje také zadní port, i když již není relevantní.


Linux
  1. Jak získat velikost adresáře v Linuxu

  2. Jak používat export s Pythonem na Linuxu

  3. Jak získat linuxovou konzoli $ COLUMNS a $ ROWS z PHP cli?

  1. Jak nainstalovat Python na Linux

  2. Jak nainstalovat Python na Linux Mint 20

  3. Jak získat ldapsearch na Scientific Linux?

  1. Jak si přizpůsobím výzdobu oken v Linuxu

  2. Jak nainstalovat Python 3.10 na Rocky Linux 8

  3. Jak spustit soubor python v linuxu