如何在使用python的交互式shell中的结束行之前找到一行中的字符? (通常是80)
答案 0 :(得分:3)
我在python
中没有具体说明,
但在shell中,环境变量$COLUMNS
包含您想要的信息。
答案 1 :(得分:3)
答案 2 :(得分:2)
您可以使用tput
实用程序查询终端中可用的行数和列数。您可以使用subprocess.Popen
执行它:
>>> import subprocess
>>> tput = subprocess.Popen(['tput', 'cols'], stdout=subprocess.PIPE)
>>> int(tput.communicate()[0].strip())
180
同样的原则也适用于通过gregseth将$COLUMNS
变量查询为mentioned:
>>> tput = subprocess.Popen(['echo $COLUMNS'], shell=True, stdout=subprocess.PIPE)
>>> int(tput.communicate()[0].strip())
180
最后,如果你可以使用curses库来解决这个简单的问题,如Ignacio Vazquez-Abrams的proposed,那么请注意你需要执行三个语句,而不是一个:
>>> import curses
>>> curses.setupterm()
>>> curses.tigetnum('cols')
180
答案 3 :(得分:0)
仅限* nix
>>> import sys,struct,fnctl,termios
>>> fd = sys.stdin.fileno()
>>> s = struct.pack("HH", 0,0)
>>> size=fcntl.ioctl(fd, termios.TIOCGWINSZ,s)
>>> struct.unpack("HH", size)[-1]
157