如何才能找出字符在交互式shell中使用python结束行之前是否有一行? (通常80)控制台中有多少个字符?
回答
可以使用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库OK这样一个简单的问题,如Ignacio Vazquez-Abrams的proposed,然后请注意,您需要执行三条语句,而不是一条:
>>> import curses
>>> curses.setupterm()
>>> curses.tigetnum('cols')
180
我不知道具体在python
,
但在shell中环境变量$COLUMNS
包含您想要的信息。
在你这样做之前,首先执行'import curses'然后执行'curses.setupterm()'。 – Stephan202 2010-01-20 21:38:36
另请参阅'curses.wrapper':http://docs.python.org/3.1/library/curses.html#module-curses.wrapper – 2010-01-21 00:52:25
在* 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
我过去曾经使用过这种方法,但它对我来说仍然没有意义。 – jathanism 2010-01-21 01:26:12
- 1. C++ fread字符串缺少控制台输出上的第一个字符
- 2. XCode控制台中方括号内的数字是多少?
- 3. Firefox/Chrome中控制台日志旁边的数字是多少?
- 4. Java中有多少个字符
- 5. varchar(max)中有多少个字符
- 6. nvarchar中有多少个字符(MAX)
- 7. PhantomJS控制台字符集
- 8. 两个字符串中有多少个字符相同
- 9. 控制台中的奇怪字符Python
- 10. 将字符串写入控制台的时间复杂度是多少?
- 11. 控制台游戏地图的巨型字符或多个字符?
- 12. C++中的字符串类有多少个字符?
- 13. 在一个字符串中有多少次子字符串[Java]
- 14. 有多少个字符可以放入C++字符串中?
- 15. 试图打印输入字符串中有多少个字符
- 16. 多少个字符的NSString有
- 17. Java String有多少个字符?
- 18. ObjectiveC - 从控制台字符串中读取多行(Breaks \ newLine)
- 19. 在Xcode调试控制台中打印多行字符串
- 20. Rails控制台中的多个条件
- 21. 什么是C++中的WinXP控制台光标控制字符?
- 22. 计算两个字符串有多少个重复字符
- 23. 计算多少个字符
- 24. 计数列表中有多少个字,字符串中使用
- 25. 表中有多少个“太多”字段?
- 26. 在PHP中,我如何向控制台发送一个控制字符?
- 27. 我可以在控件中放置多少个字符,WP7 Silverlight
- 28. Node.js:字符串中有多少位?
- 29. 通过控制台移动字符
- 30. 控制台上的特殊字符
非常罕见的80,除非你的Linux系统坏了,你被困在控制台修复它。 – 2010-01-21 00:06:27
你是对的,在我的控制台中,我有141列 – 2010-01-21 09:05:47