python模块的样式终端输出,移动和定位光标。

py-term的Python项目详细描述


python模块来设置终端输出的样式,移动和定位 光标。

python 2和3兼容

See? amazing!

alt文本

安装

通过pip安装。

$ pip install py-term

或从来源获取

$ git clone https://github.com/gravmatt/py-term.git
$ cd py-term
$ python setup.py install

导入模块

将模块导入到python项目中。

import term

用法

term.write('Hello, ')
term.write('Python!')

> Hello, Python!

term.writeLine('Hello')
term.writeLine('Python!')

> Hello
> Python!

样式输出

第一个参数是文本输出,以下所有参数是 用于造型。

term.writeLine(text, *style)

Or

text = term.format(text, *style)
term.writeLine(text)

使用量

term.writeLine('Hello, Python!')

term.writeLine('This text line will be green', term.green)

term.writeLine('Reverse the green color', term.green, term.reverse)

ouput = term.format('Hello, ', term.green) + term.format('Python!', term.blue, term.bold)

term.writeLine(output)

term.write(term.format('All in one line', term.reverse))

文本对齐

居中对齐

# term.center(text)

term.writeLine(term.center('Super Python!'))

右对齐

# term.right(text)

term.writeLine(term.right('Rene Tanczos (@gravmatt)'))
样式属性
CodeDescription
term.offAll attributes off
term.boldBold
term.dimDim
term.underscoreUnderscore (monochrome display only)
term.blinkBlink
term.reverseReverse
term.hideHide
文本颜色
CodeColor
term.blackBlack
term.redRed
term.greenGreen
term.yellowYellow
term.blueBlue
term.magentaMagenta
term.cyanCyan
term.whiteWhite
背景色
CodeColor
term.bgblackBlack
term.bgredRed
term.bggreenGreen
term.bgyellowYellow
term.bgblueBlue
term.bgMagentaMagenta
term.bgcyanCyan
term.bgwhiteWhite

删除样式属性

删除样式字符。

(在数一数字符串之前打电话很好)

term.strip(formatted_text)

hello = term.red + 'hello, world' + term.off
print hello
# '\x1b[31mhello, world\x1b[0m\x1b[27m'

print term.strip(hello)
# hello, world

突出显示文本

无格式文本字符串的简单突出显示

def callback(matching_text):
  return term.blue + matching_text + term.off

output, match_count, array_of_positions = term.highlight(regex_pattern, text, callback)

返回元组。

输出(索引0)=格式化文本输出

match_count(index 1)=模式的匹配计数

array_of_positions(index 2)=带start和stop的元组数组 匹配点[(4,6),(9,11),…]

设置标题

term.setTitle('Hello Terminal')

# or clear it

term.clearTitle()

设置选项卡名称

term.setTab('Hello Tab')

# or clear it

term.clearTab()

光标位置

将光标移动到特定位置。

term.pos(line, column)

term.pos(2, 15)

获取终端的大小(行和列)

(30, 100) = term.getSize()

# (lines, colums) = term.getSize()

将光标移到起始位置(1,1)。

term.homePos()

将当前光标位置向上、向下、向左或向右移动 指定值。

term.up(value=1)
term.down(value=1)
term.left(value=1)
term.right(value=1)

保存当前光标位置。

term.saveCursor()

恢复先前存储的光标位置。

term.restoreCursor()

清除终端屏幕。

term.clear()

清除当前光标位置上的整行。

term.clearLine()

清除从当前光标位置到结尾的行。

term.clearLineFromPos()

清除从开始到当前光标位置的行。

term.clearLineToPos()

许可证

麻省理工学院许可证(MIT)

版权所有(c)2015-2016 Renétanczos

特此免费向任何获得 本软件和相关文档文件的副本 “软件”),无限制地处理软件,包括 但不限于使用、复制、修改、合并、发布, 分发、再授权和/或出售软件副本,以及 允许向其提供软件的人员这样做,但须遵守 以下条件:

上述版权公告及本许可公告须包括在内 在软件的所有副本或大部分中。

软件按“原样”提供,不作任何形式的保证 或默示的,包括但不限于 适销性、适合特定目的和不侵权。 在任何情况下,作者或版权持有人均不对任何 索赔、损害赔偿或其他责任,无论是在合同诉讼中, 侵权行为或其他,由 软件或软件中的使用或其他交易。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
交换数组中重复值的位置(Java)   java搜索使用百分比匹配Elasticsearch SpringBoot中的文本   java Spring JPA和按输入字段排序   java我在输入CSV时出错了   java如何在RecyclerView中精确显示5项   使用java安全吗。util。servlet中的计时器?   使用Cp1252编码的java比较字符串   javafx打包java桌面应用程序,并引用开源许可证   java Spring和Camel CXF在战争中表现出色   java当EJB客户端失去与应用服务器的连接时,是否存在可以捕获的异常?   更改字符串值的java注释   java如何在sharedperfernce中保存自定义数组列表   RequestResponseLink:当使用java客户端读取队列时,Azure服务总线上RequestResponseLink到“$cbs”的内部发送链接因错误而关闭