В программе Python у меня есть, среди прочего, класс, который позволяет раскрашивать текст:
class style():
BLACK = lambda x: '\033[30m' + str(x)
RED = lambda x: '\033[31m' + str(x)
GREEN = lambda x: '\033[32m' + str(x)
YELLOW = lambda x: '\033[33m' + str(x)
BLUE = lambda x: '\033[34m' + str(x)
MAGENTA = lambda x: '\033[35m' + str(x)
CYAN = lambda x: '\033[36m' + str(x)
WHITE = lambda x: '\033[37m' + str(x)
UNDERLINE = lambda x: '\033[4m' + str(x)
RESET = lambda x: '\033[0m' + str(x)
Пример вызова:
print(style.UNDERLINE('ATTACHMENT TEST') + style.RESET(''))
Теперь я хочу запустить эту программу Python3 от Bash. Я пробовал:
#!/bin/bash
python Annotation\ test/Annotation_test.py
#or
./Annotation\ test/Annotation_test.py
#!/usr/bin/env python
Но когда я запускаю свой скрипт, Bash говорит, что:
print(style.UNDERLINE('ATTACHMENT TEST') + style.RESET(''))
TypeError: unbound method <lambda>() must be called with style instance as first argument (got str instance instead)
Хотя эта программа в PyCharm работает совершенно нормально. Почему Bash имеет проблемы с этим? И как я могу это исправить? Спасибо за любую помощь