Textwrap Python
textwrap3 là cổng sau tương thích của Python 3. Mô-đun textwrap của 6 hỗ trợ Python 2. 6 tiền đạo. (Mặc dù thành thật mà nói, nếu bạn chưa sử dụng ít nhất 2. 7, bạn đang đi sau thời đại. ) Show Điều này làm cho một số API mới như rút gọn và tham số max_lines có sẵn theo cách tương thích với tất cả các phiên bản Python thường được sử dụng hiện tại Nhập và sử dụng nó giống như bạn sẽ textwrap từ thư viện chuẩn from textwrap3 import wrap text = 'long text here...' print(wrap(text, 40)) Tài liệu textwrap tiêu chuẩn là tài liệu tham khảo tốt nhất Xu hướng và tinh chỉnhTheo thiết kế, quy tắc kỳ vọng và nhạy cảm của Python 3. Đặc biệt khi xử lý văn bản bao gồm các ký tự Unicode, kết quả của textwrap3 có thể khác một chút so với kết quả của textwrap của phiên bản Python bên dưới (đặc biệt. 2. x). Đặc biệt, textwrap3 sử dụng lại. Cờ UNICODE để các ký tự không phải ASCII, chẳng hạn như các chữ cái có dấu được coi là các ký tự từ hợp lệ Nó cũng thêm một điều chỉnh, xem xét dấu gạch ngang Unicode ('\N{EM DASH}' hoặc u'\u2014') giống hệt với dấu gạch ngang ASCII mô phỏng '--' ghi chú
Cài đặtĐể cài đặt hoặc nâng cấp lên phiên bản mới nhất pip install -U textwrap3 Bạn có thể cần thêm tiền tố này bằng sudo để cho phép cài đặt. Trong môi trường không có đặc quyền siêu người dùng, bạn có thể muốn sử dụng tùy chọn --user của pip, để chỉ cài đặt cho một người dùng, thay vì toàn hệ thống. Tùy thuộc vào cấu hình hệ thống của bạn, bạn cũng có thể cần sử dụng các chương trình pip2 và pip3 riêng biệt để cài đặt cho Python 2 và 3 tương ứng Trong python, mô-đun textwrap được sử dụng để định dạng và ngắt dòng văn bản thuần túy. Có một số tùy chọn để định dạng văn bản bằng cách điều chỉnh ngắt dòng trong đoạn đầu vào Để sử dụng các mô-đun này, chúng tôi cần nhập mô-đun textwrap trong mã của mình import textwrap Các thuộc tính đối tượng Textwrapper của các hàm tạo như sau - Ông. Không. Thuộc tính & Mô tả1bề rộng Chiều dài tối đa của dòng. Giá trị mặc định là 70 2expand_tabs Nếu giá trị của thuộc tính này là true, thì tất cả các tab sẽ được thay thế bằng dấu cách. Giá trị mặc định là True 3kích thước tab Khi thuộc tính expand_tabs là true, nó sẽ giúp đặt kích thước tab với các giá trị khác nhau. Giá trị mặc định là 8 4thay thế khoảng trắng Tất cả các ký tự khoảng trắng trong văn bản sẽ được thay thế bằng một khoảng trắng, khi giá trị được đặt thành True, Giá trị mặc định là True 5drop_whitespace Sau khi ngắt dòng văn bản, các khoảng trắng ở đầu và cuối sẽ bị loại bỏ. Giá trị mặc định là True 6indent_indent Nó thêm chuỗi đã cho vào dòng đầu tiên của văn bản được bao bọc. Giá trị mặc định là ‘ ’ 7next_indent Nó thêm chuỗi đã cho vào tất cả các dòng của văn bản được bao bọc. Giá trị mặc định là ‘ ’ 8giữ chỗ Nó nối thêm chuỗi vào cuối tệp đầu ra cho dù nó đã bị cắt bớt. Giá trị mặc định là […] 9dòng tối đa Giá trị này sẽ xác định số dòng sẽ có sau khi gói văn bản. Nếu giá trị là Không, thì không có giới hạn. Giá trị mặc định là Không có 10break_long_words Nó phá vỡ các từ dài để phù hợp với chiều rộng nhất định. Giá trị mặc định là true 11break_on_hyphens Nó được sử dụng để bọc văn bản sau dấu gạch nối cho các từ ghép. Giá trị mặc định là True Phương pháp gói văn bảnCó một số phương thức trong mô-đun Textwrap. Các mô-đun này là - Mô-đun (textwrap. quấn(văn bản, chiều rộng = 70, **kwargs)) − Phương pháp này bao bọc đoạn đầu vào. Nó sử dụng chiều rộng của dòng để bọc nội dung. Chiều rộng dòng mặc định là 70. Nó trả về một danh sách các dòng. Trong danh sách, tất cả các dòng được bao bọc được lưu trữ Mô-đun (textwrap. fill(text, width = 70, **kwargs)) − Phương thức fill() tương tự như phương thức quấn, nhưng nó không tạo ra một danh sách. Nó tạo ra một chuỗi. Nó thêm ký tự dòng mới sau khi vượt quá chiều rộng đã chỉ định Mô-đun (textwrap. rút ngắn(văn bản, chiều rộng, **kwargs)) − Phương pháp này rút ngắn hoặc cắt bớt chuỗi. Sau khi cắt bớt, chiều dài của văn bản sẽ giống như chiều rộng đã chỉ định. Nó sẽ thêm […] vào cuối chuỗi Các nhà phát triển Python thỉnh thoảng làm việc với các chuỗi. Nhiều tình huống yêu cầu quấn dây để cải thiện khả năng hiển thị hoặc các lý do khác. Các nhà phát triển có thể cần phải ngắt dòng văn bản do kích thước để tránh tràn ra ngoài kích thước màn hình thường gặp. Các trang web có blog hoặc bài viết cần ngắt dòng văn bản dựa trên kích thước màn hình. Chuỗi gói chỉ dựa trên một số ký tự trên mỗi dòng sẽ dẫn đến việc phá vỡ các từ. Chúng tôi cần một cách để ngắt dòng văn bản để nó không ngắt từ và ngắt dòng trông tự nhiên. Python cung cấp cho chúng tôi một mô-đun có tên là textwrap cho mục đích này. Nó cung cấp các phương pháp khác nhau để bọc văn bản dài. Là một phần của hướng dẫn này, chúng tôi sẽ giải thích bằng các ví dụ đơn giản về cách chúng tôi có thể ngắt dòng văn bản bằng mô-đun textwrap bằng các ví dụ đơn giản Ví dụ 1¶Là một phần của ví dụ đầu tiên của chúng tôi, chúng tôi sẽ giải thích cách chúng tôi có thể ngắt dòng văn bản bằng cách sử dụng phương thức quấn() của mô-đun textwrap
Chúng tôi sẽ sử dụng văn bản Zen of Python (nhập văn bản này) cho các ví dụ của chúng tôi. Mã của chúng tôi cho ví dụ này lưu trữ văn bản trong một biến có tên là dữ liệu. Sau đó, nó ngắt dòng văn bản bằng phương thức wrap() có chiều rộng mặc định là 70 ký tự. Sau đó, chúng tôi đang kết hợp danh sách được trả về bởi phương thức bằng cách sử dụng phương thức join() của chuỗi để tạo lại một chuỗi duy nhất từ nó ________X Number of Lines : 13 The Zen of Python, by Tim Peters. Beautiful is better than ugly. Explicit is better than implicit. Simple is better than complex. Complex is better than complicated. Flat is better than nested. Sparse is better than dense. Readability counts. Special cases aren't special enough to break the rules. Although practicality beats purity. Errors should never pass silently. Unless explicitly silenced. In the face of ambiguity, refuse the temptation to guess. There should be one-- and preferably only one --obvious way to do it. Although that way may not be obvious at first unless you're Dutch. Now is better than never. Although never is often better than *right* now. If the implementation is hard to explain, it's a bad idea. If the implementation is easy to explain, it may be a good idea. Namespaces are one honking great idea -- let's do more of those! Ví dụ 2¶Là một phần của ví dụ thứ hai, một lần nữa chúng tôi giải thích cách sử dụng phương thức quấn() với các cài đặt tham số khác nhau Trước tiên, mã của chúng tôi gọi phương thức quấn () có chiều rộng 40 ký tự và in kết quả sau khi kết hợp danh sách các chuỗi. Sau đó, nó lại gọi hàm quấn() với chiều rộng 40 ký tự, dòng tối đa là 12 và một trình giữ chỗ cho các dòng bổ sung dưới dạng chuỗi [. tiếp tục]. Thao tác này sẽ ngắt dòng văn bản có chiều rộng 40 ký tự trên mỗi dòng và sẽ đảm bảo rằng đầu ra có tối đa 12 dòng. Nếu tổng số dòng vượt quá 12 dòng thì nó sẽ bỏ qua các dòng vượt quá 12 dòng và nối thêm [. Còn tiếp] chuỗi ở cuối dòng thứ 12 import textwrap data = "The Zen of Python, by Tim Peters. Beautiful is better than ugly. Explicit is better than implicit. Simple is better than complex. Complex is better than complicated. Flat is better than nested. Sparse is better than dense. Readability counts. Special cases aren't special enough to break the rules. Although practicality beats purity. Errors should never pass silently. Unless explicitly silenced. In the face of ambiguity, refuse the temptation to guess. There should be one-- and preferably only one --obvious way to do it. Although that way may not be obvious at first unless you're Dutch. Now is better than never. Although never is often better than *right* now. If the implementation is hard to explain, it's a bad idea. If the implementation is easy to explain, it may be a good idea. Namespaces are one honking great idea -- let's do more of those!" wrapped_lines = textwrap.wrap(data, width=40) print("Number of Lines : {}\n".format(len(wrapped_lines))) print("\n".join(wrapped_lines)) wrapped_lines = textwrap.wrap(data, width=40, max_lines=12, placeholder=" [..Continued]") print("\nNumber of Lines : {}\n".format(len(wrapped_lines))) print("\n".join(wrapped_lines)) Number of Lines : 23 The Zen of Python, by Tim Peters. Beautiful is better than ugly. Explicit is better than implicit. Simple is better than complex. Complex is better than complicated. Flat is better than nested. Sparse is better than dense. Readability counts. Special cases aren't special enough to break the rules. Although practicality beats purity. Errors should never pass silently. Unless explicitly silenced. In the face of ambiguity, refuse the temptation to guess. There should be one-- and preferably only one --obvious way to do it. Although that way may not be obvious at first unless you're Dutch. Now is better than never. Although never is often better than *right* now. If the implementation is hard to explain, it's a bad idea. If the implementation is easy to explain, it may be a good idea. Namespaces are one honking great idea -- let's do more of those! Number of Lines : 12 The Zen of Python, by Tim Peters. Beautiful is better than ugly. Explicit is better than implicit. Simple is better than complex. Complex is better than complicated. Flat is better than nested. Sparse is better than dense. Readability counts. Special cases aren't special enough to break the rules. Although practicality beats purity. Errors should never pass silently. Unless explicitly silenced. In the face of ambiguity, refuse the [..Continued] Ví dụ 3¶Là một phần của ví dụ thứ ba, chúng tôi sẽ giải thích cách chúng tôi có thể ngắt dòng văn bản bằng phương thức fill()
Mã của chúng tôi cho ví dụ này hoàn toàn giống với mã của chúng tôi cho ví dụ trước với thay đổi duy nhất là chúng tôi đã sử dụng phương thức fill() trong ví dụ này thay vì quấn() import textwrap data = "The Zen of Python, by Tim Peters. Beautiful is better than ugly. Explicit is better than implicit. Simple is better than complex. Complex is better than complicated. Flat is better than nested. Sparse is better than dense. Readability counts. Special cases aren't special enough to break the rules. Although practicality beats purity. Errors should never pass silently. Unless explicitly silenced. In the face of ambiguity, refuse the temptation to guess. There should be one-- and preferably only one --obvious way to do it. Although that way may not be obvious at first unless you're Dutch. Now is better than never. Although never is often better than *right* now. If the implementation is hard to explain, it's a bad idea. If the implementation is easy to explain, it may be a good idea. Namespaces are one honking great idea -- let's do more of those!" wrapped_data = textwrap.fill(data) print(wrapped_data) wrapped_data = textwrap.fill(data, width=40) print() print(wrapped_data) wrapped_data = textwrap.fill(data, width=40, max_lines=12, placeholder=" [..Continued]") print() print(wrapped_data) ________số 8 Ví dụ 4¶Là một phần của ví dụ thứ tư, chúng tôi sẽ giải thích cách chúng tôi có thể rút ngắn chuỗi bằng phương thức short()
Mã của chúng tôi cho ví dụ này gọi phương thức rút ngắn () với các kích thước chiều rộng khác nhau và in chuỗi rút ngắn cuối cùng import textwrap data = "The Zen of Python, by Tim Peters. Beautiful is better than ugly. Explicit is better than implicit. Simple is better than complex. Complex is better than complicated. Flat is better than nested. Sparse is better than dense. Readability counts. Special cases aren't special enough to break the rules. Although practicality beats purity. Errors should never pass silently. Unless explicitly silenced. In the face of ambiguity, refuse the temptation to guess. There should be one-- and preferably only one --obvious way to do it. Although that way may not be obvious at first unless you're Dutch. Now is better than never. Although never is often better than *right* now. If the implementation is hard to explain, it's a bad idea. If the implementation is easy to explain, it may be a good idea. Namespaces are one honking great idea -- let's do more of those!" wrapped_data = textwrap.shorten(data, width=20) print("Length of Wrapped Data : {}".format(len(wrapped_data))) print(wrapped_data) wrapped_data = textwrap.shorten(data, width=25) print("\nLength of Wrapped Data : {}".format(len(wrapped_data))) print(wrapped_data) wrapped_data = textwrap.shorten(data, width=10) print("\nLength of Wrapped Data : {}".format(len(wrapped_data))) print(wrapped_data) wrapped_data = textwrap.shorten(data, width=50, placeholder=" [...Continued]") print("\nLength of Wrapped Data : {}".format(len(wrapped_data))) print(wrapped_data) pip install -U textwrap30 Ví dụ 5¶Là một phần của ví dụ thứ năm của chúng tôi, chúng tôi sẽ giải thích cách chúng tôi có thể loại bỏ các khoảng trắng ở đầu phổ biến trong văn bản trải rộng trên nhiều dòng bằng phương thức dedent()
pip install -U textwrap31 pip install -U textwrap32 Ví dụ 6¶Là một phần trong ví dụ thứ sáu của chúng tôi, chúng tôi sẽ giải thích cách chúng tôi có thể thêm chuỗi tiền tố vào các dòng văn bản đã chọn trong đó văn bản được trải rộng trên nhiều dòng bằng cách sử dụng phương thức indent()
Mã của chúng tôi cho ví dụ này giải thích cách sử dụng indent() với các cài đặt tham số khác nhau. Nó cũng giải thích cách chúng ta có thể đặt giá trị cho tham số vị ngữ Number of Lines : 13 The Zen of Python, by Tim Peters. Beautiful is better than ugly. Explicit is better than implicit. Simple is better than complex. Complex is better than complicated. Flat is better than nested. Sparse is better than dense. Readability counts. Special cases aren't special enough to break the rules. Although practicality beats purity. Errors should never pass silently. Unless explicitly silenced. In the face of ambiguity, refuse the temptation to guess. There should be one-- and preferably only one --obvious way to do it. Although that way may not be obvious at first unless you're Dutch. Now is better than never. Although never is often better than *right* now. If the implementation is hard to explain, it's a bad idea. If the implementation is easy to explain, it may be a good idea. Namespaces are one honking great idea -- let's do more of those!0 Number of Lines : 13 The Zen of Python, by Tim Peters. Beautiful is better than ugly. Explicit is better than implicit. Simple is better than complex. Complex is better than complicated. Flat is better than nested. Sparse is better than dense. Readability counts. Special cases aren't special enough to break the rules. Although practicality beats purity. Errors should never pass silently. Unless explicitly silenced. In the face of ambiguity, refuse the temptation to guess. There should be one-- and preferably only one --obvious way to do it. Although that way may not be obvious at first unless you're Dutch. Now is better than never. Although never is often better than *right* now. If the implementation is hard to explain, it's a bad idea. If the implementation is easy to explain, it may be a good idea. Namespaces are one honking great idea -- let's do more of those!1 Ví dụ 7¶Là một phần của ví dụ thứ bảy của chúng tôi, chúng tôi sẽ giải thích cách chúng tôi có thể tạo một phiên bản của TextWrapper và sử dụng nó để ngắt dòng văn bản
Các phương thức quan trọng của TextWrapper Instance¶
Mã của chúng tôi cho ví dụ này bắt đầu bằng cách tạo một phiên bản của TextWrapper. Sau đó, nó in giá trị của tất cả các thuộc tính của thể hiện. Sau đó, nó gọi các phương thức wrap() và fill() để giải thích cách sử dụng của chúng Number of Lines : 13 The Zen of Python, by Tim Peters. Beautiful is better than ugly. Explicit is better than implicit. Simple is better than complex. Complex is better than complicated. Flat is better than nested. Sparse is better than dense. Readability counts. Special cases aren't special enough to break the rules. Although practicality beats purity. Errors should never pass silently. Unless explicitly silenced. In the face of ambiguity, refuse the temptation to guess. There should be one-- and preferably only one --obvious way to do it. Although that way may not be obvious at first unless you're Dutch. Now is better than never. Although never is often better than *right* now. If the implementation is hard to explain, it's a bad idea. If the implementation is easy to explain, it may be a good idea. Namespaces are one honking great idea -- let's do more of those!2 Number of Lines : 13 The Zen of Python, by Tim Peters. Beautiful is better than ugly. Explicit is better than implicit. Simple is better than complex. Complex is better than complicated. Flat is better than nested. Sparse is better than dense. Readability counts. Special cases aren't special enough to break the rules. Although practicality beats purity. Errors should never pass silently. Unless explicitly silenced. In the face of ambiguity, refuse the temptation to guess. There should be one-- and preferably only one --obvious way to do it. Although that way may not be obvious at first unless you're Dutch. Now is better than never. Although never is often better than *right* now. If the implementation is hard to explain, it's a bad idea. If the implementation is easy to explain, it may be a good idea. Namespaces are one honking great idea -- let's do more of those!3 Ví dụ 8¶Là một phần của ví dụ thứ tám của chúng tôi, chúng tôi đang trình bày cách chúng tôi có thể đặt các giá trị tham số khác nhau của phiên bản TextWrapper. Sau đó, chúng tôi cũng đang gói dữ liệu bằng cách sử dụng phiên bản này để hiển thị tác động của các tham số đối với văn bản được bọc Number of Lines : 13 The Zen of Python, by Tim Peters. Beautiful is better than ugly. Explicit is better than implicit. Simple is better than complex. Complex is better than complicated. Flat is better than nested. Sparse is better than dense. Readability counts. Special cases aren't special enough to break the rules. Although practicality beats purity. Errors should never pass silently. Unless explicitly silenced. In the face of ambiguity, refuse the temptation to guess. There should be one-- and preferably only one --obvious way to do it. Although that way may not be obvious at first unless you're Dutch. Now is better than never. Although never is often better than *right* now. If the implementation is hard to explain, it's a bad idea. If the implementation is easy to explain, it may be a good idea. Namespaces are one honking great idea -- let's do more of those!4 Number of Lines : 13 The Zen of Python, by Tim Peters. Beautiful is better than ugly. Explicit is better than implicit. Simple is better than complex. Complex is better than complicated. Flat is better than nested. Sparse is better than dense. Readability counts. Special cases aren't special enough to break the rules. Although practicality beats purity. Errors should never pass silently. Unless explicitly silenced. In the face of ambiguity, refuse the temptation to guess. There should be one-- and preferably only one --obvious way to do it. Although that way may not be obvious at first unless you're Dutch. Now is better than never. Although never is often better than *right* now. If the implementation is hard to explain, it's a bad idea. If the implementation is easy to explain, it may be a good idea. Namespaces are one honking great idea -- let's do more of those!5 Ví dụ 9¶Là một phần trong ví dụ thứ chín của chúng tôi, một lần nữa chúng tôi sẽ trình bày cách chúng tôi có thể đặt các giá trị tham số khác nhau của phiên bản TextWrapper. Sau đó, chúng tôi cũng đang gói dữ liệu bằng cách sử dụng phiên bản này để hiển thị tác động của các tham số đối với văn bản được bọc Number of Lines : 13 The Zen of Python, by Tim Peters. Beautiful is better than ugly. Explicit is better than implicit. Simple is better than complex. Complex is better than complicated. Flat is better than nested. Sparse is better than dense. Readability counts. Special cases aren't special enough to break the rules. Although practicality beats purity. Errors should never pass silently. Unless explicitly silenced. In the face of ambiguity, refuse the temptation to guess. There should be one-- and preferably only one --obvious way to do it. Although that way may not be obvious at first unless you're Dutch. Now is better than never. Although never is often better than *right* now. If the implementation is hard to explain, it's a bad idea. If the implementation is easy to explain, it may be a good idea. Namespaces are one honking great idea -- let's do more of those!6 Number of Lines : 13 The Zen of Python, by Tim Peters. Beautiful is better than ugly. Explicit is better than implicit. Simple is better than complex. Complex is better than complicated. Flat is better than nested. Sparse is better than dense. Readability counts. Special cases aren't special enough to break the rules. Although practicality beats purity. Errors should never pass silently. Unless explicitly silenced. In the face of ambiguity, refuse the temptation to guess. There should be one-- and preferably only one --obvious way to do it. Although that way may not be obvious at first unless you're Dutch. Now is better than never. Although never is often better than *right* now. If the implementation is hard to explain, it's a bad idea. If the implementation is easy to explain, it may be a good idea. Namespaces are one honking great idea -- let's do more of those!7 Điều này kết thúc hướng dẫn nhỏ của chúng tôi giải thích cách chúng tôi có thể ngắt dòng văn bản dài đúng cách bằng cách sử dụng mô-đun textwrap của Python. Xin vui lòng cho chúng tôi biết quan điểm của bạn trong phần bình luận Chức năng Textwrap trong Python là gì?Mô-đun textwrap có thể được sử dụng để gói và định dạng văn bản thuần túy . Mô-đun này cung cấp định dạng văn bản bằng cách điều chỉnh ngắt dòng trong đoạn đầu vào.
việc sử dụng các văn bản bọc là gì?Sử dụng các điểm bao quanh để điều chỉnh luồng văn bản xung quanh hình dạng
. |