如何才能找出字符在交互式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. 使用控制檯字符清除多個控制檯行
- 2. XCode控制檯中方括號內的數字是多少?
- 3. Firefox/Chrome中控制檯日誌旁邊的數字是多少?
- 4. C++ fread字符串缺少控制檯輸出上的第一個字符
- 5. Java中有多少個字符
- 6. varchar(max)中有多少個字符
- 7. 統計DIV中有多少個字符
- 8. nvarchar中有多少個字符(MAX)
- 9. PhantomJS控制檯字符集
- 10. node.js控制檯有多寬?
- 11. Java控制檯中的多字節字符顯示
- 12. 兩個字符串中有多少個字符相同
- 13. 控制檯中的奇怪字符Python
- 14. 控制檯中的Python \ xYZ字符
- 15. 將字符串寫入控制檯的時間複雜度是多少?
- 16. 控制檯遊戲地圖的巨型字符或多個字符?
- 17. 有多少個字符可以放入C++字符串中?
- 18. 試圖打印輸入字符串中有多少個字符
- 19. 在一個字符串中有多少次子字符串[Java]
- 20. C++中的字符串類有多少個字符?
- 21. 計算字符串中有多少個特定字符
- 22. 搜索C字符串中有多少個字符
- 23. 多少個字符的NSString有
- 24. 字符串有多少個參數
- 25. Java String有多少個字符?
- 26. ObjectiveC - 從控制檯字符串中讀取多行(Breaks \ newLine)
- 27. 在Xcode調試控制檯中打印多行字符串
- 28. Rails控制檯中的多個條件
- 29. 什麼是C++中的WinXP控制檯光標控制字符?
- 30. 確定一個字符串中有多少個數字
非常罕見的80,除非你的Linux系統壞了,你被困在控制檯修復它。 – 2010-01-21 00:06:27
你是對的,在我的控制檯中,我有141列 – 2010-01-21 09:05:47