zoukankan      html  css  js  c++  java
  • python之terminaltables

    from terminaltables import AsciiTable, DoubleTable, SingleTable
    from colorclass import Color, Windows
    
    TABLE_DATA = (
        ('Platform', 'Years', 'Notes'),
        ('Mk5', '2007-2009', 'The Golf Mk5 Variant was
    introduced in 2007.'),
        ('MKVI', '2009-2013', 'Might actually be Mk5.'),
    )
    
    
    def table_example1():
        """Main function."""
        title = 'Jetta SportWagen'
    
        # AsciiTable.
        table_instance = AsciiTable(TABLE_DATA, title)
        table_instance.justify_columns[2] = 'right'
        print(table_instance.table)
        print()
    
        # SingleTable.
        table_instance = SingleTable(TABLE_DATA, title)
        table_instance.justify_columns[2] = 'right'
        print(table_instance.table)
        print()
    
        # DoubleTable.
        table_instance = DoubleTable(TABLE_DATA, title)
        table_instance.justify_columns[2] = 'right'
        print(table_instance.table)
        print()
    
    
    
    
    def table_server_timings():
        """Return table string to be printed."""
        table_data = [
            [Color('{autogreen}<10ms{/autogreen}'), '192.168.0.100, 192.168.0.101'],
            [Color('{autoyellow}10ms <= 100ms{/autoyellow}'), '192.168.0.102, 192.168.0.103'],
            [Color('{autored}>100ms{/autored}'), '192.168.0.105'],
        ]
        table_instance = SingleTable(table_data)
        table_instance.inner_heading_row_border = False
        return table_instance.table
    
    
    def table_server_status():
        """Return table string to be printed."""
        table_data = [
            [Color('Low Space'), Color('{autocyan}Nominal Space{/autocyan}'), Color('Excessive Space')],
            [Color('Low Load'), Color('Nominal Load'), Color('{autored}High Load{/autored}')],
            [Color('{autocyan}Low Free RAM{/autocyan}'), Color('Nominal Free RAM'), Color('High Free RAM')],
        ]
        table_instance = SingleTable(table_data, '192.168.0.105')
        table_instance.inner_heading_row_border = False
        table_instance.inner_row_border = True
        table_instance.justify_columns = {0: 'center', 1: 'center', 2: 'center'}
        return table_instance.table
    
    
    def table_abcd():
        """Return table string to be printed. Two tables on one line."""
        table_instance = SingleTable([['A', 'B'], ['C', 'D']])
    
        # Get first table lines.
        table_instance.outer_border = False
        table_inner_borders = table_instance.table.splitlines()
    
        # Get second table lines.
        table_instance.outer_border = True
        table_instance.inner_heading_row_border = False
        table_instance.inner_column_border = False
        table_outer_borders = table_instance.table.splitlines()
    
        # Combine.
        smallest, largest = sorted([table_inner_borders, table_outer_borders], key=len)
        smallest += [''] * (len(largest) - len(smallest))  # Make both same size.
        combined = list()
        for i, row in enumerate(largest):
            combined.append(row.ljust(10) + '          ' + smallest[i])
        return '
    '.join(combined)
    
    
    def table_example2():
        """Main function."""
        Windows.enable(auto_colors=True, reset_atexit=True)  # Does nothing if not on Windows.
    
        # Server timings.
        print(table_server_timings())
        print()
    
        # Server status.
        print(table_server_status())
        print()
    
        # Two A B C D tables.
        print(table_abcd())
        print()
    
        # Instructions.
        table_instance = SingleTable([['Obey Obey Obey Obey']], 'Instructions')
        print(table_instance.table)
        print()
    
    
    from textwrap import wrap
    
    
    LONG_STRING = ('Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore '
                   'et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut '
                   'aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum '
                   'dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui '
                   'officia deserunt mollit anim id est laborum.')
    
    
    def table_example3():
        """Main function."""
        table_data = [
            ['Long String', ''],  # One row. Two columns. Long string will replace this empty string.
        ]
        table = SingleTable(table_data)
    
        # Calculate newlines.
        max_width = table.column_max_width(1)
        wrapped_string = '
    '.join(wrap(LONG_STRING, max_width))
        table.table_data[0][1] = wrapped_string
    
        print(table.table)
    
    if __name__ == '__main__':
        table_example2()
  • 相关阅读:
    LeetCode--Insert Interval
    LeetCode--Surrounded Regions
    LeetCode--Container With Most Water
    LeetCode--Permutation Sequence
    NYOJ---540奇怪的排序
    NYOJ-858下三角矩阵
    素数筛选法
    NYOJ----776删除元素
    矩阵快速幂
    神奇算式
  • 原文地址:https://www.cnblogs.com/huangshiyu13/p/11024317.html
Copyright © 2011-2022 走看看