Python開發(fā)者的完美終端工具

#?1.Rich 兼容性
Jupyter NoteBook?一起使用,而無需其他配置。#?2.Rich 安裝說明
Windows 環(huán)境 打開 Cmd (開始-運(yùn)行-CMD)。
MacOS 環(huán)境 打開 Terminal (command+空格輸入Terminal)。
如果你用的是 VSCode編輯器 或 Pycharm,可以直接使用界面下方的Terminal.
pip?install?rich
#?3.Rich 的 Print 功能
from?rich?import?print
print("Hello,?[bold?magenta]World[/bold?magenta]!",?":vampire:",?locals())

#?4.自定義 Console 控制臺輸出
from?rich.console?import?Console
console?=?Console()
console.print("Hello",?"World!")
console.print("Hello",?"World!",?style="bold?red")

console.print("Where?there?is?a?[bold?cyan]Will[/bold?cyan]?there?[u]is[/u]?a?[i]way[/i].")

#?5.Console 控制臺記錄
from?rich.console?import?Console
console?=?Console()
test_data?=?[
????{"jsonrpc":?"2.0",?"method":?"sum",?"params":?[None,?1,?2,?4,?False,?True],?"id":?"1",},
????{"jsonrpc":?"2.0",?"method":?"notify_hello",?"params":?[7]},
????{"jsonrpc":?"2.0",?"method":?"subtract",?"params":?[42,?23],?"id":?"2"},
]
def?test_log():
????enabled?=?False
????context?=?{
????????"foo":?"bar",
????}
????movies?=?["Deadpool",?"Rise?of?the?Skywalker"]
????console.log("Hello?from",?console,?"!")
????console.log(test_data,?log_locals=True)
test_log()


#?6. 表情符號
>>>?console.print(":smiley:?:vampire:?:pile_of_poo:?:thumbs_up:?:raccoon:")
??????????????
#?7.表格
from?rich.console?import?Console
from?rich.table?import?Column,?Table
console?=?Console()
table?=?Table(show_header=True,?header_style="bold?magenta")
table.add_column("Date",?style="dim",?width=12)
table.add_column("Title")
table.add_column("Production?Budget",?justify="right")
table.add_column("Box?Office",?justify="right")
table.add_row(
????"Dev?20,?2019",?"Star?Wars:?The?Rise?of?Skywalker",?"$275,000,000",?"$375,126,118"
)
table.add_row(
????"May?25,?2018",
????"[red]Solo[/red]:?A?Star?Wars?Story",
????"$275,000,000",
????"$393,151,347",
)
table.add_row(
????"Dec?15,?2017",
????"Star?Wars?Ep.?VIII:?The?Last?Jedi",
????"$262,000,000",
????"[bold]$1,332,539,889[/bold]",
)
console.print(table)


#?8.進(jìn)度條
from?rich.progress?import?track
for?step?in?track(range(100)):
????do_step(step)


#?9.按列輸出數(shù)據(jù)
import?os
import?sys
from?rich?import?print
from?rich.columns?import?Columns
directory?=?os.listdir(sys.argv[1])
print(Columns(directory))

#?10.Markdown
from?rich.console?import?Console
from?rich.markdown?import?Markdown
console?=?Console()
with?open("README.md")?as?readme:
????markdown?=?Markdown(readme.read())
console.print(markdown)

#?11.語法突出顯示
from?rich.console?import?Console
from?rich.syntax?import?Syntax
my_code?=?'''
def?iter_first_last(values:?Iterable[T])?->?Iterable[Tuple[bool,?bool,?T]]:
????"""Iterate?and?generate?a?tuple?with?a?flag?for?first?and?last?value."""
????iter_values?=?iter(values)
????try:
????????previous_value?=?next(iter_values)
????except?StopIteration:
????????return
????first?=?True
????for?value?in?iter_values:
????????yield?first,?False,?previous_value
????????first?=?False
????????previous_value?=?value
????yield?first,?True,?previous_value
'''
syntax?=?Syntax(my_code,?"python",?theme="monokai",?line_numbers=True)
console?=?Console()
console.print(syntax)

#?12.錯(cuò)誤回溯(traceback)

E?N?D
各位伙伴們好,詹帥本帥假期搭建了一個(gè)個(gè)人博客和小程序,匯集各種干貨和資源,也方便大家閱讀,感興趣的小伙伴請移步小程序體驗(yàn)一下哦!(歡迎提建議)
推薦閱讀
牛逼!Python常用數(shù)據(jù)類型的基本操作(長文系列第①篇)
牛逼!Python的判斷、循環(huán)和各種表達(dá)式(長文系列第②篇)
評論
圖片
表情


