您可以使用该tput实用程序查询终端中可用的行数和列数。您可以使用以下命令执行它subprocess.Popen:
>>> import subprocess
>>> tput = subprocess.Popen(['tput', 'cols'], stdout=subprocess.PIPE)
>>> int(tput.communicate()[0].strip())
180
Run Code Online (Sandbox Code Playgroud)
同样的原理也可以应用于gregseth提到的$COLUMNS查询变量:
>>> tput = subprocess.Popen(['echo $COLUMNS'], shell=True, stdout=subprocess.PIPE)
>>> int(tput.communicate()[0].strip())
180
Run Code Online (Sandbox Code Playgroud)
最后,如果您可以按照Ignacio Vazquez-Abrams 的建议使用curses库来解决这样一个简单的问题,那么请注意,您需要执行三个语句,而不是一个:
>>> import curses
>>> curses.setupterm()
>>> curses.tigetnum('cols')
180
Run Code Online (Sandbox Code Playgroud)
如果调整了终端的大小,则setupterm需要先调用 then ,然后才能使用 查询新的终端宽度tigetnum。
| 归档时间: |
|
| 查看次数: |
1664 次 |
| 最近记录: |