Hướng dẫn python rich text to string - python văn bản đa dạng thức thành chuỗi
Rich có một lớp text = Text() text.append("Hello", style="bold magenta") text.append(" World!") console.print(text)9 bạn có thể sử dụng để đánh dấu các chuỗi bằng các thuộc tính màu sắc và phong cách. Bạn có thể sử dụng một thể hiện văn bản bất cứ nơi nào một chuỗi được chấp nhận, điều này cung cấp cho bạn rất nhiều quyền kiểm soát trong bản trình bày. Show
Bạn có thể coi lớp này giống như một chuỗi có các vùng văn bản được đánh dấu. Không giống như text = Text.from_ansi("\033[1mHello, World!\033[0m") console.print(text.spans)0 tích hợp, một thể hiện văn bản là có thể thay đổi và hầu hết các phương thức hoạt động tại chỗ thay vì trả lại một thể hiện mới. Một cách để thêm một kiểu vào văn bản là phương thức text = Text.from_ansi("\033[1mHello, World!\033[0m") console.print(text.spans)1 áp dụng một kiểu cho một phần bù bắt đầu và kết thúc. Đây là một ví dụ: from rich.console import Console from rich.text import Text console = Console() text = Text("Hello, World!") text.stylize("bold magenta", 0, 6) console.print(text) Điều này sẽ in "Xin chào, thế giới!" đến thiết bị đầu cuối, với từ đầu tiên trong Magenta đậm. Ngoài ra, bạn có thể xây dựng văn bản theo kiểu bằng cách gọi text = Text.from_ansi("\033[1mHello, World!\033[0m") console.print(text.spans)2 để thêm một chuỗi và kiểu vào cuối văn bản. Đây là một ví dụ: text = Text() text.append("Hello", style="bold magenta") text.append(" World!") console.print(text) Nếu bạn muốn sử dụng văn bản đã được định dạng với mã ANSI, hãy gọi text = Text.from_ansi("\033[1mHello, World!\033[0m") console.print(text.spans)3 để chuyển đổi nó thành đối tượng text = Text() text.append("Hello", style="bold magenta") text.append(" World!") console.print(text)9: text = Text.from_ansi("\033[1mHello, World!\033[0m") console.print(text.spans) Vì việc xây dựng các thể hiện văn bản từ các phần là một yêu cầu phổ biến, Rich cung cấp text = Text.from_ansi("\033[1mHello, World!\033[0m") console.print(text.spans)5 sẽ kết hợp các chuỗi hoặc các cặp chuỗi và kiểu, và trả về một thể hiện văn bản. Ví dụ sau tương đương với mã ở trên: text = Text.assemble(("Hello", "bold magenta"), " World!") console.print(text) Bạn có thể áp dụng một kiểu cho các từ đã cho trong văn bản với text = Text.from_ansi("\033[1mHello, World!\033[0m") console.print(text.spans)6 hoặc cho cuộc gọi điều khiển cuối cùng text = Text.from_ansi("\033[1mHello, World!\033[0m") console.print(text.spans)7 để làm nổi bật văn bản khớp với biểu thức chính quy. Thuộc tính văn bảnLớp văn bản có một số tham số bạn có thể đặt trên hàm tạo để sửa đổi cách hiển thị văn bản.
Một thể hiện văn bản có thể được sử dụng thay cho một chuỗi đơn giản hầu như ở mọi nơi trong API phong phú, điều này cung cấp cho bạn rất nhiều quyền kiểm soát trong cách kết xuất văn bản trong các kết xuất phong phú khác. Chẳng hạn, ví dụ sau đây sắp xếp văn bản trong một text = Text.assemble(("Hello", "bold magenta"), " World!") console.print(text)2: from rich import print from rich.panel import Panel from rich.text import Text panel = Panel(Text("Hello", justify="right")) print(panel) Ảnh của Fietzfotos trên Pixabay Bạn đang sử dụng thiết bị đầu cuối nhiều hơn các hệ điều hành dựa trên GUI? Hoặc, bạn có thường phát triển các chương trình giao diện dòng lệnh bằng Python không? Gần đây, tôi đã tìm thấy một thư viện Python tuyệt vời có tên là Rich Rich trên Github, nơi đã có 15,2k sao vào thời điểm tôi viết bài viết này. Nó không chỉ có thể hiển thị văn bản về màu sắc và kiểu dáng trong thiết bị đầu cuối mà còn cả biểu tượng cảm xúc, bảng, thanh tiến trình, đánh dấu và thậm chí mã được tô sáng. Nếu bạn đã đọc một trong những bài viết trước đây của tôi dưới đây: Thư viện giàu có của người Viking gần như có thể làm mọi thứ mà tôi đã giới thiệu trong bài viết đó, cũng như một số thứ tuyệt vời khác. Trong bài viết này, tôi sẽ giới thiệu thư viện này với các ví dụ để hiển thị khả năng của nó. Giới thiệu & Cài đặtNguồn hình ảnh: https://github.com/willmcgugan/rich (chính thức github readme.md)Hình ảnh trên cho thấy các tính năng chính mà thư viện có thể làm. Bạn có thể tìm thấy dự án trên GitHub: Thư viện yêu cầu Python 3.6.1 trở lên là chức năng. Cài đặt thư viện khá đơn giản vì chúng tôi có thể sử dụng text = Text.assemble(("Hello", "bold magenta"), " World!") console.print(text)3. pip install rich In phong phúTrước tiên, hãy nhìn vào cách nó có thể in. Tags và biểu tượng cảm xúcNó hỗ trợ các thẻ định dạng và biểu tượng cảm xúc. from rich import printprint("Hello, [bold blue]Towards Data Science[/bold blue]!", ":thumbs_up:", "[u]By[/u]", "[i]Christopher Tao[/i]") Cú pháp nổi bậtNó cũng có thể tự động định dạng một từ điển và làm nổi bật các từ khóa và đầu ra của Python. Ví dụ: hãy để ra môi trường cục bộ trong Python bằng phương pháp text = Text.assemble(("Hello", "bold magenta"), " World!") console.print(text)4. Ví dụ trên cho thấy sự khác biệt giữa đầu ra có và không có thư viện phong phú. Phong phú lạiChúng tôi cũng có thể cài đặt Python Repling bằng thư viện phong phú để mọi cấu trúc dữ liệu có thể được in và tô sáng dựa trên các tiêu chuẩn. from rich import pretty Tài liệu in đẹp của các lớp/phương phápBạn có thể biết rằng chúng ta có thể sử dụng các phương thức text = Text.assemble(("Hello", "bold magenta"), " World!") console.print(text)5 và text = Text.assemble(("Hello", "bold magenta"), " World!") console.print(text)6 để hiển thị tài liệu của lớp/đối tượng/phương thức Python. Tuy nhiên, thật khó để đọc trong thiết bị đầu cuối. str.__doc__ Bằng cách sử dụng thư viện phong phú, chúng ta có thể sử dụng chức năng text = Text.assemble(("Hello", "bold magenta"), " World!") console.print(text)7 của nó để in đẹp tài liệu trên. from rich import inspect Cờ text = Text.assemble(("Hello", "bold magenta"), " World!") console.print(text)8 sẽ quyết định xem các phương thức có được hiển thị trong tài liệu hay không. Nếu đúng, nó tương đương với text = Text.assemble(("Hello", "bold magenta"), " World!") console.print(text)6. Nếu không, nó tương đương với text = Text.assemble(("Hello", "bold magenta"), " World!") console.print(text)5. Cú pháp nổi bật của mã PythonTôi đoán bạn đã thắng được ngạc nhiên khi thư viện có thể in mã bằng cú pháp được tô sáng bởi vì chúng ta có thể thấy tính năng này trong ví dụ trước. Hãy để tôi minh họa nó bằng một ví dụ đơn giản. Dưới đây chỉ là một đoạn mã ngẫu nhiên trong ý chính của tôi. text = Text() text.append("Hello", style="bold magenta") text.append(" World!") console.print(text)0 Nó giống như trong một IDE dựa trên GUI, siêu tuyệt vời! In nâng cao bằng cách sử dụng đối tượng bảng điều khiểnThư viện phong phú cũng cung cấp một mô-đun có tên là Bảng điều khiển trực tuyến cho phép các kiểu in tùy chỉnh hơn và một số tính năng ngoài hộp. Chúng ta có thể nhập mô -đun và khởi tạo đối tượng như sau. text = Text() text.append("Hello", style="bold magenta") text.append(" World!") console.print(text)1 Ví dụ: phương thức from rich import print from rich.panel import Panel from rich.text import Text panel = Panel(Text("Hello", justify="right")) print(panel)1 của đối tượng console có thể in đầu ra kiểu nhật ký trên màn hình. text = Text() text.append("Hello", style="bold magenta") text.append(" World!") console.print(text)2 Xin lưu ý rằng thời gian được tự động thêm vào nhật ký. Đối tượng Console cũng có cờ from rich import print from rich.panel import Panel from rich.text import Text panel = Panel(Text("Hello", justify="right")) print(panel)2 có thể là một công cụ gỡ lỗi rất hữu ích. Nó xuất ra tất cả các biến cục bộ hiện tại trong bộ nhớ. text = Text() text.append("Hello", style="bold magenta") text.append(" World!") console.print(text)3 Tích hợp với thư viện ghi nhật kýPython có một thư viện ghi nhật ký tích hợp được sử dụng để hiển thị nhật ký với các cấp độ và định dạng khác nhau. Thư viện phong phú có thể tích hợp liền mạch với thư viện để cung cấp trải nghiệm in đẹp hơn nữa. Hãy để nhập thư viện ghi nhật ký và khởi tạo đối tượng nhật ký trước. text = Text() text.append("Hello", style="bold magenta") text.append(" World!") console.print(text)4 Sau đó, chúng ta có thể xuất ra một số nhật ký để xem những gì xảy ra. text = Text() text.append("Hello", style="bold magenta") text.append(" World!") console.print(text)5 Rất tuyệt, nhật ký của chúng tôi sẽ được tô màu trong thiết bị đầu cuối bây giờ. Python Traceback BeautifierTôi thực sự ngạc nhiên bởi tính năng này. Tôi chắc chắn bạn cũng vậy. Thư viện phong phú có thể hiển thị dấu vết của mọi kỳ vọng theo một cách rất dễ đọc. Tính năng này là ngoài hộp thực sự là sự kết hợp của tất cả các tính năng trên. Để minh họa tất cả các yếu tố của dấu vết đẹp, chúng ta cần có mã tương đối phức tạp. Vì vậy, vui lòng cho phép tôi sử dụng ảnh chụp màn hình từ trang GitHub Readme chính thức. Nguồn hình ảnh: https://github.com/willmcgugan/rich (chính thức github readme.md)Bảng phong phúThư viện phong phú cũng có thể hiển thị một bàn rất đẹp. Quan trọng hơn, kiểu dáng và văn bản từ sẽ được điều chỉnh tự động dựa trên chiều rộng của cửa sổ thiết bị đầu cuối. Dưới đây là một đoạn mã có thể tạo bảng bằng thư viện phong phú. Cuối cùng, nó sẽ được in. text = Text() text.append("Hello", style="bold magenta") text.append(" World!") console.print(text)6 Như đã đề cập ở trên, bảng sẽ phù hợp với chiều rộng hiện tại của cửa sổ thiết bị đầu cuối để đảm bảo rằng bảng được hiển thị hoàn hảo. Thanh tiến bộ phong phúThư viện phong phú cũng cung cấp tính năng thanh tiến độ tuyệt vời. Việc sử dụng cũng cực kỳ đơn giản. text = Text() text.append("Hello", style="bold magenta") text.append(" World!") console.print(text)7 Tất nhiên, thanh tiến trình rất linh hoạt có thể được tùy chỉnh với nhiều khía cạnh như hiển thị nhiều thanh tiến trình cùng nhau và văn bản nhãn tiến trình chi tiết như sau. GIF Nguồn: https://github.com/willmcgugan/rich (chính thức github readme.md) GIF Nguồn: https://github.com/willmcgugan/rich (chính thức github readme.md)Đánh dấu phong phúThư viện phong phú cũng có thể hiển thị văn bản đánh dấu trong thiết bị đầu cuối. Tôi đã tạo một tệp đánh dấu mẫu trước.Sau đó, chúng tôi có thể nhập mô -đun from rich import print from rich.panel import Panel from rich.text import Text panel = Panel(Text("Hello", justify="right")) print(panel)3 trong thư viện phong phú để hiển thị nó. text = Text() text.append("Hello", style="bold magenta") text.append(" World!") console.print(text)8 Mặc dù nó không thể hiển thị các tiêu đề trong các kích thước phông chữ khác nhau vì giới hạn của thiết bị đầu cuối, nhưng nó vẫn có thể phân biệt chúng bằng cách sử dụng các kiểu khác nhau. Bản tóm tắtẢnh của Engin_akyurt trên pixabayĐƯỢC RỒI.Vui lòng cho phép tôi dừng lại ở đây.Có quá nhiều tính năng ấn tượng trong thư viện này mà tôi có thể hiển thị tất cả chúng trong một bài viết, mặc dù tôi đã chứng minh những thứ mà tôi nghĩ là quan tâm nhất.Vẫn còn nhiều tính năng hơn như các cột, bảng điều khiển, đệm và các nhóm kết xuất cũng rất tuyệt vời.Rất khuyến khích kiểm tra chúng một mình. Nếu bạn cảm thấy các bài viết của tôi là hữu ích, vui lòng xem xét tham gia thành viên trung bình để hỗ trợ tôi và hàng ngàn nhà văn khác!(Nhấp vào liên kết ở trên) |