python中有没有办法以编程方式确定控制台的宽度?我的意思是在一行中不换行的字符数,而不是窗口的像素宽度。
编辑
寻找适用于 Linux 的解决方案
原文由 Sergey Golovchenko 发布,翻译遵循 CC BY-SA 4.0 许可协议
python中有没有办法以编程方式确定控制台的宽度?我的意思是在一行中不换行的字符数,而不是窗口的像素宽度。
编辑
寻找适用于 Linux 的解决方案
原文由 Sergey Golovchenko 发布,翻译遵循 CC BY-SA 4.0 许可协议
不知道为什么它在模块中 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。还有一个反向移植,尽管不再相关。
原文由 Gringo Suave 发布,翻译遵循 CC BY-SA 4.0 许可协议
7 回答5.3k 阅读
4 回答4.4k 阅读✓ 已解决
4 回答4k 阅读
4 回答3.8k 阅读✓ 已解决
2 回答5.9k 阅读✓ 已解决
1 回答3k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
使用“stty size”命令,根据 python 邮件列表上的一个线程,该 命令在 linux 上是相当普遍的。它将“stty size”命令作为文件打开,从中“读取”,并使用简单的字符串拆分来分隔坐标。
与 os.environ[“COLUMNS”] 值不同(尽管使用 bash 作为我的标准 shell,我无法访问该值),数据也将是最新的,而我相信 os.environ[“COLUMNS”] value 仅在 python 解释器启动时有效(假设用户从那时起调整了窗口大小)。
(请参阅@GringoSuave 的回答,了解如何在 python 3.3+ 上执行此操作)