Programuję program obejmujący Kody ucieczki ANSI i wszyscy pracowali w porządku w replikuj, dopóki nie włączę się z powrotem do bezczynności (3.9 na obu). Ale to nie działa:
Idle
Powinien wyglądać tak:
replikuj

Widziałem kilka postów przed tym, że narzekając, że bezczynny nie obsługuje tych sekwencji ucieczki, ponieważ nie jest to terminal, więc próbowałem zrobić to bezpośrednio z , ale symbol bestialny nadal pojawił się, tym razem jako pudełko znak zapytania:
cmd

Wiem, że nie zadziała prosto od bezczynności, więc zastanawiam się, czy możesz zaimportować oprogramowanie jak do Pythona?

Str.s. Proszę, nie mów mi, żebym importować Colorama czy coś takiego! Naprawdę chcę to być drogą. Nie mam też natychmiastowego dostępu do Ipython (chociaż chciałbym), więc nie jest to dla mnie opcja ... Chyba że muszę: D

Edytuj: Kodek, który umieściłem przez programy:

import sys, os

os.system("")

CSI = f"{chr(0x1B)}["

print(f"""{CSI}3m{CSI}1m{CSI}4m{CSI}31m
look at this""")

sys.stdout.flush() 

# I put the sys.stdout.flush() and os.system("") to try and fix the problem...
0
Arale 13 marzec 2021, 18:38

3 odpowiedzi

Najlepsza odpowiedź

Błęga skorupa nie jest emulatorem terminala i nie ma być środowiskiem produkcyjnym. Do tej pory decyzja jest to, że powinno pokazać programistom programistom, jaki produkt ich programu, bez interpretacji. Może to zmienić w przyszłości, ale nie ma jeszcze ostatecznej decyzji.

Jeśli jesteś w systemie Windows, uważam, że jego konsola może być umieszczona w trybie ANSI, ale Python nie robi tego dla ciebie. Nie wiem, czy kod programu może to zrobić.

Tak blisko, jak mogę powiedzieć, nie ma programu opakowań, który zamienia menty do modułu importowalnego Pythona. Nie miałoby znaczenia. Raczej chcesz otworzyć menty lub emulator terminala na bazie menty, takiego jak Git Bash i otwórz Python w tym terminalu zamiast CommandPrompt.

1
Terry Jan Reedy 14 marzec 2021, 04:11

Kod ANSI jest szerokim terminem. Musisz określić, która strona kodu używasz. Na przykład moje okna są w chińskim uproszczonym. Dlatego jeśli chcę uciec od UTF-8 Domyślnie w Pythonie, umieściłbym # coding : cp936 na pierwszej lub drugiej linii skryptu. Następnie może odczytać i pisać pliki tekstowe z uproszczonym chińskim kodowaniem.

1
George Y 14 marzec 2021, 13:45

Czy IPython obsługuje kody ANSI? Czy jest program z większym oknem terminalowym?

0
Arale 14 marzec 2021, 12:19