如果可以通过它对每个单元进行操作,如何在模式下使用终端窗口?我不知道这个模式是如何命名的,这就是为什么我不能谷歌它。另外,我知道this approach,但现在对我来说如何处理它的低级别很有意思。
UPD: 好的,我读了所有的termios手册和其他一些文档,我现在唯一可以说的了 - 我还是不知道如何在终端的某个地方制作旋转条,即框架: - \ | / - 。:(
UPD2 哦,我突然发现它there:
import sys
import time
f='-\\|/'
for i in range(10):
sys.stdout.write("\r{0}".format(f[i%4]))
sys.stdout.flush()
time.sleep(0.5)
那么,本主题的最后一个问题 - 只有termios的坐标呢?
Subquestion [解决]:
当我使用curses
,即来自this post的第二个代码列表时 - 当top
不执行此操作时,它会使我的半透明终端窗口不透明。如何保持透明?
解决方案:在curses.use_default_colors()
的第一个字符串中插入def pbar(window):
。
答案 0 :(得分:1)
curses(http://docs.python.org/library/curses.html)或控制台(http://effbot.org/zone/console-handbook.htm)模块是您想要的
Console.py的来源可以在这里http://www.math.uiuc.edu/~gfrancis/illimath/windows/aszgard_mini/pylibs/readline/Console.py我确定你可以看一下......虽然我确定它可能是一个巨大的痛苦,这就是为什么人们总是使用诅咒......
在Windows上,您可能想要浏览msdn http://msdn.microsoft.com/en-us/library/system.console.aspx 并使用ctypes.cdll.whatever
调用它答案 1 :(得分:0)
如果你想要一个比curses
更低级别的库,你可以使用termios
(虽然我怀疑htop的UI主要是用curses编写的)
termios
上的Python文档页面是最小的,因为该模块几乎只公开了底层的UNIX'y termios库,因此非Python特定的文档是主要的信息来源,like this guide on termios,或the termios.h header(或在shell中运行man termios
)
当然,挑战在于将代码转换为Python,但通常转换是相当直接的(函数调用通常非常相似,并且位调和/位屏蔽通常是相同的)