Печатайте разные элементы в одной строке разными цветами в Jupyter Notebook - PullRequest
0 голосов
/ 16 июня 2020

Я пытаюсь использовать colorama в записной книжке Jupyter, но ничего не делает. Однако, когда попробуйте его в консоли, он работает нормально. Вот мой пример кода:

from sys import stdout
from colorama import Fore

# Option 1
stdout.write(Fore.RED + "Test")

# Option 2
print(Fore.GREEN + "Test")

Моя цель - напечатать разные элементы в одной строке с разными цветами.

Я использую Linux (Ubuntu 20) и использую Python 2,7. Та же проблема возникает, когда я пробую в python3

1 Ответ

1 голос
/ 17 июня 2020

Вы можете использовать здесь некоторую уценку, используя Markdown и display из модуля IPython.display.

Я считаю, что этот ответ может быть тем, что вы ищете.


РЕДАКТИРОВАТЬ

На основе ответа на вопрос, на который вы ссылались в своем комментарии , вот какой-то код, который печатает разные элементы в одной строке с одинаковым цветом :

In [1]:     class ListOfColoredStrings(object):
                def __init__(self, *args):
                    """
                    Expected input:
                    args = ["word_1", "color_1"], ["word_2", "color_2"]

                    :param args: pairs of [word, color], both given as strings
                    """
                    self.strings = [a[0] for a in args]
                    self.colors = [a[1] for a in args]

                def _repr_html_(self):
                    return ''.join( [
                       "<span class='listofstr' style='color:{}'>{}</span>"
                            .format(self.colors[i], self.strings[i])
                       for i in range(len(self.strings))
                       ])

In [2]:     %%html
            <style type='text/css'>
            span.listofstr {
              margin-left: 5px
            }
            </style>

In [3]:     ListOfColoredStrings(["hi", "red"], ["hello", "green"])

Вывод:

output

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...