経緯
面白そうなモジュールがあったので動かしてみた、
自分の環境(windows)ではレジストリを編集しないと動かない感じだったので備忘録化。
ちなみにQiitaで記事を書いてみたかったので初投稿です。
インストール
普通にpipでインストールできる。
pip install tarminaltextefect
基本コマンド
echo 出力したい文章 | tte beams
とりあえず標準出力してみる。
terminaltextefectはtteコマンドで使用できる。今回はbeamエフェクトを適応。
エラー
結果:画面に収まりきらない謎テキスト
出力には成功しているが、うまく表示されていない。
どうやら、ANSIエスケープシーケンスというものを解釈できてないようなので、
レジストリで設定を有効にする必要がある。
レジストリ設定
1.win+R でレジストリエディタを開く
2.HKEY_CURRENT_USER\Consoleを探す(多分いちばん下にある)
3.メニューバーから、編集(E)→新規(N)→DWORD(32ビット)値(D)より「VirtualTerminalLevel」という名前のキーを作成
4.作成したキーの値を1に設定
このように設定を変更すれば動くはず。
再トライ
from terminaltexteffects.effects.effect_rain import Rain
# テキストファイルを開いて行をリストに格納
with open('AA.txt', 'r', encoding='utf-8') as file:
lines = file.readlines()
# リストの内容を1つの文字列に結合
text_data = ''.join(lines)
# エフェクトに文字列データを渡す
effect = Rain(text_data)
# エフェクトを適用して出力
with effect.terminal_output() as terminal:
for frame in effect:
terminal.print(frame)
出力結果
オエーー!!!!
エフェクトの適応先はAA.txt、同ディテクトリに作成しておくこと。
コマンドプロンプトだとスペースが"◯"で表示されてしまい見づらかったのでPowerShellでの実行に変更した。
余談だが、大きいAA(アスキーアート)は表示が崩れてしまい見られたものではなかった。
環境
- windows10 ver22H2
- python 3.12.2
- terminaltexteffects 0.11.1
ドキュメント