GNU/Linux >> Tutoriels Linux >  >> Linux

Comment obtenir la largeur de la fenêtre de la console Linux en Python

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

utilise la commande 'stty size' qui, selon un fil de la liste de diffusion python, est raisonnablement universelle sous Linux. Il ouvre la commande 'stty size' en tant que fichier, "lit" à partir de celui-ci et utilise une simple séparation de chaîne pour séparer les coordonnées.

Contrairement à la valeur os.environ["COLUMNS"] (à laquelle je ne peux pas accéder malgré l'utilisation de bash comme shell standard), les données seront également à jour alors que je crois que le os.environ["COLUMNS"] la valeur ne serait valide que pour le moment du lancement de l'interpréteur python (supposons que l'utilisateur ait redimensionné la fenêtre depuis).

(Voir la réponse de @GringoSuave sur la façon de procéder sur python 3.3+)


Je ne sais pas pourquoi il se trouve dans le module shutil , mais il a atterri là dans Python 3.3. Voir :

Interrogation de la taille du terminal de sortie

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

Une implémentation de bas niveau se trouve dans le module os. Multiplateforme - fonctionne sous Linux, Mac OS et Windows, probablement d'autres types d'Unix. Il existe également un rétroportage, bien qu'il ne soit plus pertinent.


Linux
  1. Comment obtenir la taille du répertoire sous Linux

  2. Comment utiliser l'exportation avec Python sous Linux

  3. Comment obtenir la console Linux $COLUMNS et $ROWS à partir de PHP cli ?

  4. Comment exécuter un fichier python sous Linux

  5. Comment obtenir ldapsearch sur Scientific Linux ?

Comment installer la bibliothèque Python PyBrain sous Linux

Comment installer Setuptools pour Python sur Linux

Comment obtenir votre adresse IP sous Linux

Comment démarrer avec Arch Linux

Comment installer Anaconda Python sur Rocky Linux 8

Comment obtenir une liste de liens symboliques sous Linux