一尘不染

如何在Python中获取Linux控制台窗口宽度

linux

python中有没有办法以编程方式确定控制台的宽度?我的意思是不换行就适合一行的字符数,而不是窗口的像素宽度。

编辑

寻找适用于Linux的解决方案


阅读 304

收藏
2020-06-02

共1个答案

一尘不染

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

使用“ stty
size”命令,该命令根据python邮件列表上的线程在linux上相当普遍。它以文件形式打开“ stty
size”命令,从中“读取”,并使用简单的字符串拆分来分隔坐标。

与os.environ [“ COLUMNS”]值(尽管使用bash作为我的标准shell无法访问)不同,数据也将是最新的,而我相信os.environ
[“ COLUMNS”]该值仅在启动python解释器时有效(假设从那时起用户调整了窗口的大小)。

(有关如何在python 3.3+上执行此操作,请参见@GringoSuave的回答)

2020-06-02